- FIFO can't use duplex connection
- browsers use a lot of connections in concurrency
- big header problem
- setup a connection is expensive and we don't reuse it
- server push is hard to implement
- Binary Framing
- Multiplexing
- Header Compression
- Server Push
- Others ref to RFC 7540: https://tools.ietf.org/html/rfc7540
- Setup a simple website in HTTP/1.1
- Setup two websites with different HTTP/2 features
- Use docker-compose to map different ports
- Use wireshark to verify binary framing
- Setup self-signed certificate to use TLS in default
Practice location: https://github.com/yc-zhang/http2-practice