Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make references to h1-messaging non-normative #335

Closed
mnot opened this issue Mar 19, 2020 · 11 comments
Closed

Make references to h1-messaging non-normative #335

mnot opened this issue Mar 19, 2020 · 11 comments

Comments

@mnot
Copy link
Member

mnot commented Mar 19, 2020

Both caching and semantics make some references to h1-messaging. They should not be normative.

We can do this by:

  • Removing unnecessary references
  • Turning references into examples / advisory text
  • Clarifying H1 specificity where appropriate

Includes #332, #333, #311, #259, #183, #182, #118.

@mnot
Copy link
Member Author

mnot commented Mar 19, 2020

In semantics:

@mnot
Copy link
Member Author

mnot commented Mar 19, 2020

@royfielding it seems like either header.upgrade needs to move into Semantics, or 101 and `426 need to move into Messaging. WDYT?

@mnot
Copy link
Member Author

mnot commented Mar 19, 2020

In Caching, there's are two references to message.body.length, in Storing Incomplete Responses (talking about what "incomplete" is; see #334), and as a 1.1-specific example.

I think once #334 is resolved, Caching should be good.

@mnot mnot self-assigned this Mar 19, 2020
@royfielding
Copy link
Member

@royfielding it seems like either header.upgrade needs to move into Semantics, or 101 and `426 need to move into Messaging. WDYT?

Yes, I think we will be better served by defining all of the header fields in Semantics and stating explicitly when they are only applicable to one version of HTTP (or some subset of versions).

@royfielding
Copy link
Member

Er, I mean defining all of the fields in Semantics or Caching -- no need to move CC and Expires, etc.

@mnot
Copy link
Member Author

mnot commented Mar 20, 2020

I'm leaning the other way - moving 101 and 426 into Messaging. Each of these mechanisms is pretty clearly 1.x-specific:

  • Upgrade
  • Connection
  • Transfer-codings

Putting them into Semantics just makes that document larger, and adds to confusion about whether they can be used in 2 or 3.

@MikeBishop
Copy link
Contributor

I can see this either way. My general inclination is that status codes et al. are always generic mechanisms, but which might not be applicable/defined for certain mappings. (I kind of regret that we went with "Extended CONNECT" instead of defining that Upgrade works on a stream in H2/H3, but that's water under the bridge.)

@mnot
Copy link
Member Author

mnot commented Jun 11, 2020

Current set of anchors pointing to messaging from semantics, with those that can be considered non-normative ticked:

  • chunked.trailer.section
  • differences.between.http.and.mime
  • field.parsing
  • h1.effective.request.uri
  • field.connection
  • field.te
  • field.transfer-encoding
  • field.upgrade
  • http.message
  • media.type.message.http
  • line.folding
  • message.body
  • persistent.tear-down
  • request.line
  • request.smuggling
  • transfer.codings
  • security.considerations

@mnot
Copy link
Member Author

mnot commented Jun 11, 2020

Of those remaining, I think:

  • field.parsing - can be changed to "e.g., [ref] in HTTP/1.1"
  • field.connection - I think we can reword this in a way to effectively move the requirement to messaging
  • field.te - should be moved from Messaging to Semantics
  • field.upgrade - should be moved from Messaging to Semantics
  • http.message - these all seem to be references to the abstract concept of a request message, which I think can be pointed at architecture.
  • media.type.message.http - I'm tempted to say that this can be considered informative, thoughts?
  • persistent.tear-down - change changed to "e.g., [ref] in HTTP/1.1"
  • request.line - this should not be mentioned here; it's 1.1 specific
  • transfer.codings - all informative except for the mention in message.transformations, which I think can be removed or downgraded to a note that version-specific wire serialisations like transfer codings don't count

@royfielding / @reschke if this sounds about right, I'll do a PR that effects the above and moves Messaging to Informative References.

@mnot
Copy link
Member Author

mnot commented Jul 2, 2020

Dicussed; we need two PRs, one for moving, one for rewording. Connection needs to be in semantics. Messaging will remain normative.

This was referenced Jul 13, 2020
@mnot
Copy link
Member Author

mnot commented Jul 30, 2020

Only thing left to do is #407; closing.

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

No branches or pull requests

3 participants