RFC Errata
RFC 7231, "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content", June 2014
Note: This RFC has been obsoleted by RFC 9110
Source of RFC: httpbis (wit)
Errata ID: 5300
Status: Rejected
Type: Technical
Publication Format(s) : TEXT
Reported By: Jeffrey Yasskin
Date Reported: 2018-03-24
Rejected by: Francesca Palombini
Date Rejected: 2021-08-23
Section 8.1 says:
8.1.1. Procedure HTTP method registrations MUST include the following fields: o Method Name (see Section 4) o Safe ("yes" or "no", see Section 4.2.1) o Idempotent ("yes" or "no", see Section 4.2.2) o Pointer to specification text Values to be added to this namespace require IETF Review (see [RFC5226], Section 4.1). … 8.1.3. Registrations The "Hypertext Transfer Protocol (HTTP) Method Registry" has been populated with the registrations below: +---------+------+------------+---------------+ | Method | Safe | Idempotent | Reference | +---------+------+------------+---------------+ | CONNECT | no | no | Section 4.3.6 | | DELETE | no | yes | Section 4.3.5 | | GET | yes | yes | Section 4.3.1 | | HEAD | yes | yes | Section 4.3.2 | | OPTIONS | yes | yes | Section 4.3.7 | | POST | no | no | Section 4.3.3 | | PUT | no | yes | Section 4.3.4 | | TRACE | yes | yes | Section 4.3.8 | +---------+------+------------+---------------+
It should say:
8.1.1. Procedure HTTP method registrations MUST include the following fields: o Method Name (see Section 4) o Safe ("yes" or "no", see Section 4.2.1) o Idempotent ("yes" or "no", see Section 4.2.2) o Cacheable ("yes" or "no", see Section 4.2.3) o Pointer to specification text Values to be added to this namespace require IETF Review (see [RFC5226], Section 4.1). … 8.1.3. Registrations The "Hypertext Transfer Protocol (HTTP) Method Registry" has been populated with the registrations below: +---------+------+------------+-----------+---------------+ | Method | Safe | Idempotent | Cacheable | Reference | +---------+------+------------+-----------+---------------+ | CONNECT | no | no | no | Section 4.3.6 | | DELETE | no | yes | no | Section 4.3.5 | | GET | yes | yes | yes | Section 4.3.1 | | HEAD | yes | yes | yes | Section 4.3.2 | | OPTIONS | yes | yes | no | Section 4.3.7 | | POST | no | no | yes | Section 4.3.3 | | PUT | no | yes | no | Section 4.3.4 | | TRACE | yes | yes | no | Section 4.3.8 | +---------+------+------------+-----------+---------------+
Notes:
HTTP Methods have 3 boolean properties, all of which 8.1.2 says a registration needs to define, but only 2 of them were included in the registry.
--VERIFIER NOTES--
As discussed during work on the HTTP core documents:
> "Cacheable" is not a boolean property of the method, but rather a capability inherent in the system in which one aspect is the method semantics.
See https://github.com/httpwg/http-core/issues/54 for detailed discussion.