Understanding HTTP/2 Features, Advantages, and Practical Considerations in Go
This article reviews HTTP/2's core features such as binary framing, multiplexing, header compression, and server push, evaluates their performance benefits and real‑world limitations, discusses implementation challenges in Go and proxy servers, and provides references for further study.
Through the previous four chapters we learned about HTTP/2 characteristics and how to leverage them in Go; this concluding chapter shares the author’s personal insights on HTTP/2 and its future prospects.
HTTP/2 New Features
Binary framing (HTTP Frames)
Multiplexing
Header compression
Server push ( Server Push )
These techniques dramatically improve client‑server data exchange, addressing many limitations of HTTP/1.1.
Advantages of HTTP/2
Lower latency through multiplexing and RTT optimization
Reduced bandwidth consumption via header compression (HPACK)
Fewer connections needed thanks to binary framing and multiplexing
In bandwidths below 5 Mbps, page load speed benefits are noticeable, while above that the impact diminishes; latency reduction yields linear improvements in load time.
However, many existing front‑end optimizations (domain sharding, CSS sprites, increased parallel connections) mitigate these gains, and the benefit of fewer connections mainly reduces server load rather than user experience.
Server Push Considerations
The Server Push feature can accelerate resource delivery, but in modern architectures static assets are often served from separate domains via CDNs, making push less useful. Proper cache handling is required to avoid redundant pushes, and ecosystem support is still limited.
Implementing HTTP/2 at the proxy layer is complex due to stream state management. Nginx currently does not plan upstream HTTP/2 support, and the most mature library nghttp2 offers a partial proxy nghttpx that lacks full Server Push support.
Testing with an nghttpx -configured http2‑proxy shows that the /push endpoint does not support Server Push as expected.
Current observations (as of 2018‑08‑25) show major Chinese portals still using HTTP/1.1, though HTTPS is enabled; widespread HTTP/2 adoption is expected to grow as tooling improves.
References
RFC7540
RFC7540 UI‑styled version
http2 GitBook (Chinese)
HTTP/2 FAQ
http2 tools
Stream state machine (important)
A fork of /x/net/http2 providing Server Push for Go
http2 server push overview video
High Performance Browser Networking (O'Reilly)
HTTP/2 is here, let’s optimize!
360 Tech Engineering
Official tech channel of 360, building the most professional technology aggregation platform for the brand.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.