In response to the Call for Proposals to HTTP/2, PHK published a draft with a number of suggested requirements.
This is a summary of those requirements, indicating those that have been met.
- 3.3 Avoid header field encodings/transformations in intermediaries
- 3.3 and 9 Envelope / content header field distinction
- 3.3 Add session as "flow-label"
- 3.3 Use prefix coding for length
- 3.3 Indicate presence of body clearly
- 4 Support legitimate cryptography
- 4 Allow explicit interception1
- 5 Multiplexing
- 5 Ability to extend for other than client-server
- 6 Run over existing HTTP ports
- 6 Magic to detect non-H2 servers
- 7 Don't use UDP, but don't prevent future work/deployment
- 8 Don't send Date headers
- 8 Find smaller serialisations for repeated data
- 8 Allow cookies to have binary content2
- 8 Binary protocol
1 Discussed extensively and rejected.
2 Cookies were out of scope for HTTP/2, but it does allow binary headers, as does HTTP/1.