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

Initial AUTH48 changes from RFC Editor #2543

Merged
merged 4 commits into from
Jul 19, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
title: The ORIGIN Extension in HTTP/3
abbrev: ORIGIN in HTTP/3
number: 9412
docname: draft-ietf-httpbis-origin-h3-latest
date: {DATE}
date: 2023-06
category: std

ipr: trust200902
Expand All @@ -21,10 +22,10 @@ author:
email: [email protected]

normative:
HTTP2:
RFC9113
HTTP3:
RFC9114
RFC9113:
display: HTTP/2
RFC9114:
display: HTTP/3

informative:
QUIC-TRANSPORT:
Expand All @@ -33,16 +34,16 @@ informative:

--- abstract

The ORIGIN frame for HTTP/2 is equally applicable to HTTP/3, but
The ORIGIN frame for HTTP/2 is equally applicable to HTTP/3, but it
needs to be separately registered. This document describes the ORIGIN
frame for HTTP/3.

--- middle

# Introduction {#problems}

Existing RFCs define extensions to HTTP/2 {{HTTP2}} which remain useful in
HTTP/3. {{Section A.2.3 of HTTP3}} describes the required updates for HTTP/2
Existing RFCs define extensions to HTTP/2 {{RFC9113}} that remain useful in
HTTP/3. {{Section A.2 of RFC9114}} describes the required updates for HTTP/2
frames to be used with HTTP/3.

{{!ORIGIN=RFC8336}} defines the HTTP/2 ORIGIN frame, which indicates what
Expand All @@ -53,33 +54,35 @@ type.

{::boilerplate bcp14-tagged}

Frame diagrams in this document use the format defined in {{Section 1.3 of
The frame diagram in this document uses the format defined in {{Section 1.3 of
QUIC-TRANSPORT}} to illustrate the order and size of fields.

# The ORIGIN HTTP/3 Frame {#frame-origin}

The ORIGIN HTTP/3 frame allows a server to indicate what origin(s)
({{?RFC6454}}) the server would like the client to consider as members of the
Origin Set ({{Section 2.3 of ORIGIN}}) for the connection within which it
The ORIGIN HTTP/3 frame allows a server to indicate what origin or origins
{{?RFC6454}} the server would like the client to consider as one or more members
of the Origin Set ({{Section 2.3 of ORIGIN}}) for the connection within which it
occurs.

The semantics of the frame payload are identical to those of the HTTP/2 frame
defined in {{!ORIGIN}}. Where HTTP/2 reserves Stream 0 for frames related to the
defined in {{!ORIGIN}}. Where HTTP/2 reserves stream 0 for frames related to the
state of the connection, HTTP/3 defines a pair of unidirectional streams called
"control streams" for this purpose. Where {{ORIGIN}} indicates that the ORIGIN
frame should be sent on Stream 0, this should be interpreted to mean the HTTP/3
control stream. The ORIGIN frame is sent from servers to clients on the
server's control stream.
"control streams" for this purpose.

Where {{ORIGIN}} indicates that the ORIGIN frame is sent on stream 0, this
should be interpreted to mean the HTTP/3 control stream: that is,
the ORIGIN frame is sent from servers to clients on the server's control stream.

HTTP/3 does not define a Flags field in the generic frame layout. As no flags
have been defined for the ORIGIN frame, this specification does not define a
mechanism for communicating such flags in HTTP/3.

## Frame Layout

The ORIGIN frame has a nearly identical layout to that used in HTTP/2, restated
here for clarity. The ORIGIN frame type is 0xc (decimal 12) as in HTTP/2. The
payload contains zero or more instances of the Origin-Entry field.
The ORIGIN frame has a layout that is nearly identical to the
layout used in HTTP/2; the information is restated here for clarity. The ORIGIN
frame type is 0x0c (decimal 12), as in HTTP/2. The payload contains zero or more
instances of the Origin-Entry field.

~~~~~ ascii-art
HTTP/3 Origin-Entry {
Expand Down Expand Up @@ -110,21 +113,33 @@ ASCII-Origin:
# Security Considerations {#security}

This document introduces no new security considerations beyond those discussed
in {{!ORIGIN}} and {{HTTP3}}.
in {{!ORIGIN}} and {{RFC9114}}.

# IANA Considerations {#iana}

This document registers a frame type in the "HTTP/3 Frame Type"
registry ({{HTTP3}}).
This document registers a frame type in the "HTTP/3 Frame Types" registry
defined by {{RFC9114}}, located at
\<https://www.iana.org/assignments/http3-parameters/>.

Value:
: 0x0c

Frame Type:
: ORIGIN

Status:
: permanent

Reference:
: {{frame-origin}}

Date:
: 2023-03-14

| ----- | ---------------- | --------- | ----------------- |
| Value | Frame Type | Status | Specification |
| :---: | ---------------- | --------- | ----------------- |
| 0xc | ORIGIN | permanent | {{frame-origin}} |
| ----- | ---------------- | --------- | ----------------- |
{: #iana-frame-table title="Registered HTTP/3 Frame Types"}
Change Controller:
: IETF

This allocation lists a change controller of the IETF and a contact of the HTTP
working group ([email protected]).
Contact:
: HTTP WG \<[email protected]>

--- back