awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
httpwg avatar

httpwg/http2-spec

0
View on GitHub↗
3,755 stars·559 forks·Makefile·13 viewshttpwg.org↗

Http2 Spec

This project provides the formal network protocol standards and technical specifications for HTTP/2. It defines the requirements for binary framing structures, the HPACK compression standard for header fields, and the general behaviors necessary to ensure consistent data exchange and interoperability between network clients and servers.

The specification covers the mechanisms for binary frame multiplexing and the HPACK standard to reduce network bandwidth and latency. It details the rules for session establishment, including connection preface handshaking and protocol negotiation.

The project further defines high-level functional domains including window-based flow control, stream priority weighting, and server push mechanisms. It establishes the state-based lifecycle for streams and provides standards for connection liveness verification and protocol error handling.

Features

  • HTTP/2 Protocol Implementations - Provides the complete technical specification for implementing the HTTP/2 protocol.
  • Binary Frame Multiplexing - Implements binary frame multiplexing to allow multiple concurrent streams over a single connection without head-of-line blocking.
  • Server Push Limiters - Implements the server-push mechanism to deliver predicted resources preemptively to the client.
  • Communication Protocols and Standards - Establishes the formal network protocol standards and requirements to ensure interoperability between clients and servers.
  • HPACK Header Compression - Specifies the HPACK algorithm for stateful header compression using static and dynamic tables.
  • Connection Handshake Protocols - Defines the connection preface and initial settings exchange used to synchronize protocol parameters during session establishment.
  • Connection Multiplexing - Bundles multiple logical data streams into a single physical connection to eliminate head-of-line blocking.
  • Flow Control Window Managers - Implements credit-based window management to regulate data transmission and prevent receiver buffer overflow.
  • Stream State Machines - Defines the state-based lifecycle for streams to manage resources throughout the request-response process.
  • Protocol Negotiation - Provides the mechanism for clients and servers to negotiate and agree upon the optimal protocol version.
  • Network Flow Control - Regulates the amount of data transmitted over a connection to ensure stability and prevent buffer overflow.
  • Binary Framing Specifications - Defines the binary frame structures essential for managing streams, flow control, and priority.
  • Resource Delivery Prioritization - Defines the weight-based priority and dependency tree for allocating network resources to individual streams.
  • Session Establishment - Defines the process for initiating communication channels via the exchange of a connection preface.
  • HTTP/2 Server Push - Implements the server-push mechanism to proactively send predicted resources to the client.
  • Multiplexed Stream Exchanges - Implements concurrent bidirectional frame sequences over a single connection to prevent head-of-line blocking.
  • Protocol Error Handling - Defines standardized error codes for reporting connection and stream failures to facilitate protocol recovery.
  • Stream Priority Weighting - Establishes rules for stream-priority weighting to optimize the delivery of critical resources.
  • Connection Reuse Strategies - Provides specifications for reusing a single established connection for requests across multiple authorities.
  • Protocol Extensions - Defines the ability to introduce new frame types, settings, and error codes to extend protocol capabilities.
  • Graceful Connection Termination - Provides the GOAWAY control signaling mechanism for gracefully terminating connections without interrupting active requests.
  • Protocol Session Termination - Defines the protocol-specific signaling used to conclude a session while completing pending tasks.

Star history

Star history chart for httpwg/http2-specStar history chart for httpwg/http2-spec

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does httpwg/http2-spec do?

This project provides the formal network protocol standards and technical specifications for HTTP/2. It defines the requirements for binary framing structures, the HPACK compression standard for header fields, and the general behaviors necessary to ensure consistent data exchange and interoperability between network clients and servers.

What are the main features of httpwg/http2-spec?

The main features of httpwg/http2-spec are: HTTP/2 Protocol Implementations, Binary Frame Multiplexing, Server Push Limiters, Communication Protocols and Standards, HPACK Header Compression, Connection Handshake Protocols, Connection Multiplexing, Flow Control Window Managers.

Which projects share features with httpwg/http2-spec?

Projects with overlapping indexed features include: nghttp2/nghttp2 — nghttp2 is a suite of low-level C libraries and tools designed for implementing the HTTP/2 protocol. It provides a… quic-go/quic-go — This project is a high-performance implementation of the QUIC transport protocol, providing a library for establishing… systemsapproach/book — This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical… ginuerzh/gost — gost is a multi-protocol proxy tunnel and secure tunneling server designed to route network traffic through encrypted… freerdp/freerdp — FreeRDP is a full software implementation of the Remote Desktop Protocol, providing both client and server… soheilhy/cmux — cmux is a TCP connection multiplexer and layer four protocol dispatcher. It routes incoming network traffic to…

Projects sharing features with Http2 Spec

These projects share indexed features with Http2 Spec. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nghttp2/nghttp2nghttp2 avatar

    nghttp2/nghttp2

    5,009View on GitHub↗

    nghttp2 is a suite of low-level C libraries and tools designed for implementing the HTTP/2 protocol. It provides a memory-efficient implementation of the protocol's core logic, including framing, stream multiplexing, and flow control. The project includes a dedicated library for HPACK header compression and decompression to reduce network bandwidth. It also provides a toolset for analyzing network traffic and benchmarking server performance, including throughput and latency measurements. Its broader capabilities cover protocol implementation and traffic management, including ALPN connection

    C++
    View on GitHub↗5,009
  • quic-go/quic-goquic-go avatar

    quic-go/quic-go

    11,661View on GitHub↗

    This project is a high-performance implementation of the QUIC transport protocol, providing a library for establishing multiplexed, low-latency network connections over UDP. It serves as a foundational networking stack for building modern web servers and clients, with native support for HTTP/3 and WebTransport standards. The library distinguishes itself through advanced connection management, including the ability to maintain stable sessions across changing network paths or IP addresses using connection identifiers. It optimizes data throughput by employing packet batching to reduce kernel ov

    Gogogolanghttp3
    View on GitHub↗11,661
  • systemsapproach/bookSystemsApproach avatar

    SystemsApproach/book

    3,298View on GitHub↗

    This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra

    Python
    View on GitHub↗3,298
  • ginuerzh/gostginuerzh avatar

    ginuerzh/gost

    18,019View on GitHub↗

    gost is a multi-protocol proxy tunnel and secure tunneling server designed to route network traffic through encrypted connections. It functions as a traffic obfuscation gateway and a transparent proxy server capable of intercepting TCP and UDP traffic at the IP level. The project also includes a virtual network interface manager for creating TUN and TAP devices to intercept operating system packets. The system distinguishes itself through a chain-based request routing model, allowing traffic to pass through an ordered sequence of proxy nodes. It provides extensive transport-layer encapsulatio

    Godnsgogolang
    View on GitHub↗18,019
Compare all 30 related projects→