Skip to content

Things we'd like to remove or make mandatory in HTTP/2 #56

Description

@LPardue

The latest revision to HTTP/2, RFC 9112, deprecated a few things that turned out to be duds but it didn't go as far as making any breaking changes.

What if we had infinite scope to change the wire image in a breaking way? What would you like to see removed altogether, changed, or newly added as a mandatory feature? Here's my starter list:

  1. Improve stream concurrency control (e.g. MAX_STREAMS)
  2. Remove server push
  3. Remove RFC 7540 priorities (recommend RFC 9218?)
  4. Restrict SETTINGS to once per connection at the start
  5. Mandate extended CONNECT
  6. Use QUIC variable-length integers (expand from 32-bit to 64-bit integers)
  7. Grease every extension code point
  8. Remove frame flags field - replace this with frame type instead (similar to QUIC and HTTP/3)
  9. Remove CONTINUATION frames (larger frame sizes obviate them)
  10. Mandate TLS; remove cleartext and upgrade (and hence avoid complications related to cleartext)
  11. Remove prior knowledge and the preface stuff. (ALPN is enough to determine what a connection is being used for)
  12. Tweak so that stream errors allow to elicit an error HTTP response rather than just a RST_STREAM

any comments or suggestions?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions