-
Notifications
You must be signed in to change notification settings - Fork 3
Future of HTTP
Mark Nottingham edited this page Jul 28, 2016
·
4 revisions
This is list of things that might be interesting to think about in the future regarding HTTP.
Things that generally need to be done.
- Clear layering / modularity - esp. relation to transport
- Web browsing focus? Other use cases? E.g., IoT?
- Browser Profile for HTTP
- Other profiles? E.g., IoT, app
- Energy efficiency
- Browser APIs
A straight mapping of HTTP/2 semantics to QUIC
- UDP
- Out of order delivery
- Path to application / application path metadata?
- Up-front routing information
- Mobility (client and server)
- Taking advantage of multi path
- 0RT
- FEC???!?
- Unreliable (as a feature)
A future backwards-incompatible revision to HTTP
- Semantic backwards compatibility - how much can we break?
- Firm limits on protocol elements (sizes, etc.)
- Data-aware header encoding
- Security / encryption requirements
- Multiple metadata buckets / labels
- Push as an extension?
- Binary encoding of headers w/ data type awareness
- EXTENDED_SETTINGS
Things that are attractive, but hard to achieve
- Taking advantage of multicast
- Peer-to-peer / distributed HTTP / content-centric networking / NDN
- Resistance to traffic analysis
- Built-in onion routing (lite?)
- Selective encryption
- Anti-Censorship
- Cross-Stream compression
HTTP/2-specific extensions
- Priority improvements / modifications
- websockets
- PUSH for pub/sub and store-forward
- Pushing DNS / certs
- BLOCKED frame
- PUSH hints?
Generic HTTP extensions that aren't specific to any particular version
- Blind Caching
- Conditional-on-hash
- replacement for content-md5 (use cases?)
- Multipart-range response media type replacement
- zero knowledge proof
- prioritisation hints - visibility, controls
- partial upload
- "delayed" requests - how long has been stored/in transit - including error responce semantics
- High precision timestamps (in caching)