Backend Development 8 min read

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.

360 Tech Engineering
360 Tech Engineering
360 Tech Engineering
Understanding HTTP/2 Features, Advantages, and Practical Considerations in Go

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!

Backend DevelopmentGoweb performanceHTTP/2Server Push
360 Tech Engineering
Written by

360 Tech Engineering

Official tech channel of 360, building the most professional technology aggregation platform for the brand.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.