# hyperium/hyper

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hyperium-hyper).**

15,945 stars · 1,717 forks · Rust · mit

## Links

- GitHub: https://github.com/hyperium/hyper
- Homepage: https://hyper.rs
- awesome-repositories: https://awesome-repositories.com/repository/hyperium-hyper.md

## Topics

`http` `hyper` `rust`

## Description

Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols.

The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transformation. By employing zero-copy buffer management and asynchronous stream processing, the framework minimizes memory footprint and reduces latency when handling large payloads.

The project covers a comprehensive range of networking capabilities, including connection pool management for high-volume traffic, transport layer security integration, and graceful server shutdown procedures. It provides primitives for constructing concurrent servers and clients, supporting both buffered and streaming data pipelines to accommodate various application requirements.

## Tags

### Networking & Communication

- [HTTP Client Libraries](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries.md) — Acts as a foundational low-level networking library for building high-performance HTTP clients and servers.
- [Asynchronous Network Frameworks](https://awesome-repositories.com/f/networking-communication/asynchronous-network-frameworks.md) — Provides a foundational toolkit for building robust, asynchronous, and type-safe network services in Rust.
- [HTTP/2 Protocol Implementations](https://awesome-repositories.com/f/networking-communication/http-2-protocol-implementations.md) — Implements a high-concurrency networking stack supporting modern HTTP/1 and HTTP/2 standards.
- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Provides modular middleware pipelines for intercepting and transforming network requests and responses.
- [Connection Pooling](https://awesome-repositories.com/f/networking-communication/connection-pooling.md) — Maintains a collection of reusable connections to remote servers to reduce latency and overhead during high traffic. ([source](https://hyper.rs/guides/1/upgrading/))
- [HTTP Servers](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers.md) — Executes network listeners to process incoming connections using defined service logic. ([source](https://hyper.rs/guides/1/server/hello-world))
- [Service Abstractions](https://awesome-repositories.com/f/networking-communication/http-request-abstractions/service-abstractions.md) — Decouples network logic from transport using a standard service-trait interface for request-response transformation.
- [Response Streaming](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries/http-client-utilities/response-streaming.md) — Handles large payloads incrementally as asynchronous frames to avoid buffering entire content into memory. ([source](https://hyper.rs/guides/1/client/basic))
- [Asynchronous Network Clients](https://awesome-repositories.com/f/networking-communication/asynchronous-network-clients.md) — Provides robust asynchronous HTTP client primitives for managing connection pools and secure transmission.
- [HTTP Request Builders](https://awesome-repositories.com/f/networking-communication/http-request-builders.md) — Constructs and dispatches HTTP requests with configurable headers and body content. ([source](https://hyper.rs/guides/1/client/basic))
- [Protocol-Agnostic Transport Layers](https://awesome-repositories.com/f/networking-communication/protocol-agnostic-transport-layers.md) — Separates transport logic from HTTP semantics to support multiple protocol versions through a unified builder.

### Web Development

- [High-Performance HTTP Servers](https://awesome-repositories.com/f/web-development/high-performance-http-servers.md) — Provides a high-performance, memory-safe engine for building concurrent HTTP/1 and HTTP/2 servers.
- [Networking Libraries](https://awesome-repositories.com/f/web-development/networking-libraries.md) — Provides foundational networking primitives for building high-performance HTTP clients and servers. ([source](https://hyper.rs/guides/1/init/setup))
- [HTTP Servers](https://awesome-repositories.com/f/web-development/http-servers.md) — Provides the core engine for constructing concurrent HTTP/1 and HTTP/2 servers. ([source](https://hyper.rs/guides/1/upgrading/))
- [HTTP Request Handlers](https://awesome-repositories.com/f/web-development/http-request-handlers.md) — Maps incoming HTTP requests to asynchronous handler functions for processing and response generation. ([source](https://hyper.rs/guides/1/server/hello-world))
- [Request Interception Middleware](https://awesome-repositories.com/f/web-development/request-interception-middleware.md) — Allows wrapping incoming requests or outgoing responses with custom logic for logging, authentication, or header modification. ([source](https://hyper.rs/guides/1/server/middleware/))
- [Stream Forwarders](https://awesome-repositories.com/f/web-development/request-body-handling/stream-forwarders.md) — Forwards data from an incoming request body directly to a response body as it arrives to minimize memory usage. ([source](https://hyper.rs/guides/1/server/echo/))
- [Request Body Handling](https://awesome-repositories.com/f/web-development/request-body-handling.md) — Accepts generic or specific data types to handle incoming and outgoing information streams throughout the HTTP communication lifecycle. ([source](https://hyper.rs/guides/1/upgrading/))
- [Request Routing](https://awesome-repositories.com/f/web-development/request-routing.md) — Matches incoming HTTP requests to specific handlers based on the request method and path. ([source](https://hyper.rs/guides/1/server/echo/))
- [HTTP Server Configuration](https://awesome-repositories.com/f/web-development/http-server-configuration.md) — Configures server communication protocols by selecting appropriate builders and runtime executors. ([source](https://hyper.rs/guides/1/server/hello-world))
- [Stream Transformers](https://awesome-repositories.com/f/web-development/request-body-handling/stream-transformers.md) — Applies functional mapping operations to individual data frames within a request body stream to modify content. ([source](https://hyper.rs/guides/1/server/echo/))

### Security & Cryptography

- [Transport Layer Security](https://awesome-repositories.com/f/security-cryptography/transport-layer-security.md) — Integrates with transport layer security protocols to establish secure connections and protect data during transit. ([source](https://hyper.rs/guides/1/client/connectors/))

### Data & Databases

- [Asynchronous Streams](https://awesome-repositories.com/f/data-databases/typed-data-collections/sequence-management/asynchronous-streams.md) — Handles network data as non-blocking asynchronous streams to minimize memory usage and improve throughput.
- [Incremental Data Streaming](https://awesome-repositories.com/f/data-databases/incremental-data-streaming.md) — Processes large network payloads incrementally as asynchronous streams to maintain low memory usage.

### Software Engineering & Architecture

- [Zero-Copy Mechanisms](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/zero-copy-mechanisms.md) — Optimizes performance by passing memory references between network layers to avoid redundant data copying.
- [Custom Middleware Implementations](https://awesome-repositories.com/f/software-engineering-architecture/middleware/custom-middleware-implementations.md) — Enables modular request and response interception for logging, authentication, and header modifications.
- [Task-Based Concurrency Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/task-based-concurrency-frameworks.md) — Uses future-based state machines to manage concurrent network tasks efficiently.
- [Runtime Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/runtime-abstraction-layers.md) — Integrates custom asynchronous executors via a standard interface to map task spawning to the underlying runtime. ([source](https://hyper.rs/guides/1/init/runtime/))

### Part of an Awesome List

- [Developer Tools](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools.md) — Low-level HTTP library for network communication.
- [Rust Projects](https://awesome-repositories.com/f/awesome-lists/devtools/rust-projects.md) — Listed in the “Rust Projects” section of the Awesome For Beginners awesome list.

### DevOps & Infrastructure

- [Graceful Shutdowns](https://awesome-repositories.com/f/devops-infrastructure/graceful-shutdowns.md) — Ensures data integrity by allowing in-flight requests to complete before shutting down the server. ([source](https://hyper.rs/guides/1/server/graceful-shutdown/))
