Skip to content

Commit 1f2bffe

Browse files
committed
Fix for jakartaee#468 - update HTTP RFC references
No other changes required to the specification
1 parent f4e1c1e commit 1f2bffe

File tree

1 file changed

+25
-31
lines changed

1 file changed

+25
-31
lines changed

spec/src/main/asciidoc/servlet-spec-body.adoc

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -123,28 +123,8 @@ Generic Syntax
123123

124124
* RFC 7258 Pervasive Monitoring Is an Attack
125125

126-
* RFC 7540 Hypertext Transfer Protocol Version 2 (HTTP/2)
127-
128126
* RFC 7541 HPACK: Header Compression for HTTP/2 (HPACK)
129127

130-
* RFC 7230 Hypertext Transfer Protocol (HTTP/1.1):
131-
Message Syntax and Routing
132-
133-
* RFC 7231 Hypertext Transfer Protocol (HTTP/1.1):
134-
Semantics and Content
135-
136-
* RFC 7232 Hypertext Transfer Protocol (HTTP/1.1):
137-
Conditional Requests
138-
139-
* RFC 7233 Hypertext Transfer Protocol (HTTP/1.1):
140-
Range Requests
141-
142-
* RFC 7234 Hypertext Transfer Protocol (HTTP/1.1):
143-
Caching
144-
145-
* RFC 7235 Hypertext Transfer Protocol (HTTP/1.1):
146-
Authentication
147-
148128
* RFC 7301 Transport Layer Security (TLS)
149129
Application-Layer Protocol Negotiation Extension (ALPN)
150130

@@ -153,12 +133,23 @@ Control Protocol for Tea Ef (HTCPCP-TEA)footnote:[This reference is mostly
153133
tongue-in-cheek although most of the concepts described in the HTCPCP
154134
-TEA RFC are relevant to all well-designed web servers.]
155135

156-
* RFC 2617 HTTP Authentication: Basic and Digest
157-
Authentication
158-
159136
* RFC 2119 Key words for use in RFCs to Indicate
160137
Requirement Levels
161138

139+
* RFC 7616 HTTP Digest Access Authentication
140+
141+
* RFC 7617 The 'Basic' HTTP Authentication Scheme
142+
143+
* RFC 9110 HTTP Semantics
144+
145+
* RFC 9111 HTTP Caching
146+
147+
* RFC 9112 HTTP/1.1
148+
149+
* RFC 9113 HTTP/2
150+
151+
* RFC 9114 HTTP/3
152+
162153
Online versions of these RFCs are at
163154
`http://www.ietf.org/rfc/`.
164155

@@ -215,11 +206,11 @@ container must implement are HTTP/1.1 and HTTP/2. When supporting
215206
HTTP/2, servlet containers must support the “h2” and “h2c” protocol
216207
identifiers (as specified in section 3.1 of the HTTP/2 RFC). This
217208
implies all servlet containers must support ALPN. Because the container
218-
may have a caching mechanism described in RFC 7234 (HTTP/1.1 Caching),
209+
may have a caching mechanism described in RFC 9111 (HTTP Caching),
219210
it may modify requests from the clients before delivering them to the
220211
servlet, may modify responses produced by servlets before sending them
221212
to the clients, or may respond to requests without delivering them to
222-
the servlet under the compliance with RFC 7234.
213+
the servlet under the compliance with RFC 9111.
223214

224215
A servlet container may place security restrictions on the environment in which
225216
a servlet executes.
@@ -1306,11 +1297,11 @@ The process described here adapts and extends the URI canonicalization process d
13061297
==== Obtaining the URI Path
13071298
HTTP/1.0:: The URI path is extracted from the `Request-URI` in the `Request-Line` as defined by [RFC 1945](https://datatracker.ietf.org/doc/html/rfc1945#section-5.1). URIs in `abs_path` form are the URI path. URIs in `absoluteURI` have the protocol and authority removed to convert them to `origin-form` and thus obtain the URI path.
13081299

1309-
HTTP/1.1:: The URI path is extracted from the `request-target` as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.1). URIs in `origin-form` are the URI path. URIs in `absolute-form` have the protocol and authority removed to convert them to `origin-form` and thus obtain the URI path. URIs in `authority-form` or `asterisk-form` are outside of the scope of this specification.
1300+
HTTP/1.1:: The URI path is extracted from the `request-target` as defined by [RFC 9112](https://www.rfc-editor.org/rfc/rfc9112.html#name-request-target). URIs in `origin-form` are the URI path. URIs in `absolute-form` have the protocol and authority removed to convert them to `origin-form` and thus obtain the URI path. URIs in `authority-form` or `asterisk-form` are outside of the scope of this specification.
13101301

1311-
HTTP/2:: The URI path is the `:path` pseudo header as defined by [RFC 7540](https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3) and is passed unchanged to stage 2.
1302+
HTTP/2:: The URI path is the `:path` pseudo header as defined by [RFC 9113](https://www.rfc-editor.org/rfc/rfc9113.html#name-request-pseudo-header-field) and is passed unchanged to stage 2.
13121303

1313-
HTTP/3:: The URI path is the `:path` pseudo header as currently defined by the [draft RFC](https://datatracker.ietf.org/doc/html/draft-ietf-quic-http-34).
1304+
HTTP/3:: The URI path is the `:path` pseudo header as currently defined by the [RFC 9114](https://www.rfc-editor.org/rfc/rfc9114.html#name-request-pseudo-header-field).
13141305

13151306
Other protocols:: Containers may support other protocols. Containers should extract an appropriate URI path for the request from the protocol and pass it to stage 2.
13161307

@@ -1753,7 +1744,7 @@ sender:
17531744

17541745
The `getLocale` method will return the
17551746
preferred locale for which the client wants to accept content. See
1756-
section 14.4 of RFC 7231 (HTTP/1.1) for more information about how the
1747+
section 12.5.4 of RFC 9110 (HTTP Semantics) for more information about how the
17571748
`Accept-Language` header must be interpreted to determine the preferred
17581749
language of the client.
17591750

@@ -2405,7 +2396,7 @@ To be successfully transmitted back to the
24052396
client, headers (other than those in a trailer) must be set before the response is
24062397
committed. Headers (other than those in a trailer) set after the response is committed
24072398
will be ignored by the servlet container. If an HTTP trailer, as specified
2408-
in RFC 7230, is to be sent in the response, the fields must be provided using
2399+
in RFC 9110, is to be sent in the response, the fields must be provided using
24092400
the `setTrailerFields()` method on `HttpServletResponse`. This method
24102401
must have been called before the last chunk in the chunked response has
24112402
been written.
@@ -2421,7 +2412,7 @@ the servlet programmer does not set the type.
24212412

24222413
An HTTP trailer is a collection of HTTP headers that comes after the
24232414
response body. It is specified
2424-
in RFC 7230. It is useful in the context of chunked transfer encoding
2415+
in RFC 9110. It is useful in the context of chunked transfer encoding
24252416
and also in the implementation of additional communication protocols.
24262417
Servlet containers provide support for trailers.
24272418

@@ -8596,6 +8587,9 @@ link:https://github.com/eclipse-ee4j/servlet-api/issues/463[Issue 463]::
85968587
Clarify Javadoc for `MultipartConfigElement` and `MultipartConfig` that sizes
85978588
are in bytes.
85988589

8590+
link:https://github.com/eclipse-ee4j/servlet-api/issues/468[Issue 468]::
8591+
Update references to the HTTP RFCs to use the current versions.
8592+
85998593
link:https://github.com/eclipse-ee4j/servlet-api/issues/473[Issue 473]::
86008594
The Javadoc for `HttpServletRequest.isTrailerFieldsReady()` has been corrected
86018595
to correctly describe the default implementation.

0 commit comments

Comments
 (0)