Skip to main content

HTTP Semantics
draft-ietf-httpbis-semantics-10

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 9110.
Authors Roy T. Fielding , Mark Nottingham , Julian Reschke
Last updated 2020-07-12
Replaces draft-fielding-httpbis-http-semantics, draft-ietf-httpbis-auth, draft-ietf-httpbis-conditional, draft-ietf-httpbis-range, draft-nottingham-httpbis-header-registry
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Associated WG milestone
Jun 2020
Submit the "core" HTTP documents for consideration as Internet Standards
Document shepherd (None)
IESG IESG state Became RFC 9110 (Internet Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-httpbis-semantics-10
"`" / "|" / "~" / DIGIT / ALPHA
   time-of-day = hour ":" minute ":" second
   token = 1*tchar
   token68 = 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" )
    *"="
   type = token

   unsatisfied-range = "*/" complete-length
   uri-host = <host, see [RFC3986], Section 3.2.2>

   weak = %x57.2F ; W/
   weight = OWS ";" OWS "q=" qvalue

   year = 4DIGIT

Appendix B.  Changes from previous RFCs

B.1.  Changes from RFC 2818

   None yet.

B.2.  Changes from RFC 7230

   The sections introducing HTTP's design goals, history, architecture,
   conformance criteria, protocol versioning, URIs, message routing, and
   header fields have been moved here (without substantive change).

Fielding, et al.        Expires January 13, 2021              [Page 192]
Internet-Draft               HTTP Semantics                    July 2020

   "Field value" now refers to the value after multiple instances are
   combined with commas - by far the most common use.  To refer to a
   single header line's value, use "field line value".  (Section 5)

   Trailer field semantics now transcend the specifics of chunked
   encoding.  Use of trailer fields has been further limited to only
   allow generation as a trailer field when the sender knows the field
   defines that usage and to only allow merging into the header section
   if the recipient knows the corresponding field definition permits and
   defines how to merge.  In all other cases, implementations are
   encouraged to either store the trailer fields separately or discard
   them instead of merging.  (Section 5.6.2)

   Made the priority of the absolute form of the request URI over the
   Host header by origin servers explicit, to align with proxy handling.
   (Section 6.6)

   The grammar definition for the Via field's "received-by" was expanded
   in 7230 due to changes in the URI grammar for host [RFC3986] that are
   not desirable for Via. For simplicity, we have removed uri-host from
   the received-by production because it can be encompassed by the
   existing grammar for pseudonym.  In particular, this change removed
   comma from the allowed set of charaters for a host name in received-
   by.  (Section 6.7.1)

   Added status code 308 (previously defined in [RFC7538]) so that it's
   defined closer to status codes 301, 302, and 307.  (Section 10.4.9)

   Added status code 422 (previously defined in Section 11.2 of
   [RFC4918]) because of its general applicability.  (Section 10.5.20)

   The description of an origin and authoritative access to origin
   servers has been extended for both "http" and "https" URIs to account
   for alternative services and secured connections that are not
   necessarily based on TCP.  (Section 2.5.1, Section 2.5.2,
   Section 6.2, Section 6.4)

B.3.  Changes from RFC 7231

   Minimum URI lengths to be supported by implementations are now
   recommended.  (Section 2.5)

   Clarify that control characters in field values are to be rejected or
   mapped to SP.  (Section 5.4)

   The term "effective request URI" has been replaced with "target URI".
   (Section 6.1)

Fielding, et al.        Expires January 13, 2021              [Page 193]
Internet-Draft               HTTP Semantics                    July 2020

   Range units are compared in a case insensitive fashion.
   (Section 7.1.4)

   Restrictions on client retries have been loosened, to reflect
   implementation behavior.  (Section 8.2.2)

   Clarified that request bodies on GET and DELETE are not
   interoperable.  (Section 8.3.1, Section 8.3.5)

   Removed a superfluous requirement about setting Content-Length from
   the description of the OPTIONS method.  (Section 8.3.7)

   Allow Accept and Accept-Encoding in response messages; the latter was
   introduced by [RFC7694].  (Section 9.4)

B.4.  Changes from RFC 7232

   Clarify that If-Unmodified-Since doesn't apply to a resource without
   a concept of modification time.  (Section 9.2.6)

B.5.  Changes from RFC 7233

   Refactored the range-unit and ranges-specifier grammars to simplify
   and reduce artificial distinctions between bytes and other
   (extension) range units, removing the overlapping grammar of other-
   range-unit by defining range units generically as a token and placing
   extensions within the scope of a range-spec (other-range).  This
   disambiguates the role of list syntax (commas) in all range sets,
   including extension range units, for indicating a range-set of more
   than one range.  Moving the extension grammar into range specifiers
   also allows protocol specific to byte ranges to be specified
   separately.

B.6.  Changes from RFC 7235

   None yet.

B.7.  Changes from RFC 7538

   None yet.

B.8.  Changes from RFC 7615

   None yet.

Fielding, et al.        Expires January 13, 2021              [Page 194]
Internet-Draft               HTTP Semantics                    July 2020

Appendix C.  Changes from RFC 7694

   This specification includes the extension defined in [RFC7694], but
   leaves out examples and deployment considerations.

Appendix D.  Change Log

   This section is to be removed before publishing as an RFC.

D.1.  Between RFC723x and draft 00

   The changes were purely editorial:

   o  Change boilerplate and abstract to indicate the "draft" status,
      and update references to ancestor specifications.

   o  Remove version "1.1" from document title, indicating that this
      specification applies to all HTTP versions.

   o  Adjust historical notes.

   o  Update links to sibling specifications.

   o  Replace sections listing changes from RFC 2616 by new empty
      sections referring to RFC 723x.

   o  Remove acknowledgements specific to RFC 723x.

   o  Move "Acknowledgements" to the very end and make them unnumbered.

D.2.  Since draft-ietf-httpbis-semantics-00

   The changes in this draft are editorial, with respect to HTTP as a
   whole, to merge core HTTP semantics into this document:

   o  Merged introduction, architecture, conformance, and ABNF
      extensions from RFC 7230 (Messaging).

   o  Rearranged architecture to extract conformance, http(s) schemes,
      and protocol versioning into a separate major section.

   o  Moved discussion of MIME differences to [Messaging] since that is
      primarily concerned with transforming 1.1 messages.

   o  Merged entire content of RFC 7232 (Conditional Requests).

   o  Merged entire content of RFC 7233 (Range Requests).

Fielding, et al.        Expires January 13, 2021              [Page 195]
Internet-Draft               HTTP Semantics                    July 2020

   o  Merged entire content of RFC 7235 (Auth Framework).

   o  Moved all extensibility tips, registration procedures, and
      registry tables from the IANA considerations to normative
      sections, reducing the IANA considerations to just instructions
      that will be removed prior to publication as an RFC.

D.3.  Since draft-ietf-httpbis-semantics-01

   o  Improve [Welch] citation (<https://github.com/httpwg/http-core/
      issues/63>)

   o  Remove HTTP/1.1-ism about Range Requests
      (<https://github.com/httpwg/http-core/issues/71>)

   o  Cite RFC 8126 instead of RFC 5226 (<https://github.com/httpwg/
      http-core/issues/75>)

   o  Cite RFC 7538 instead of RFC 7238 (<https://github.com/httpwg/
      http-core/issues/76>)

   o  Cite RFC 8288 instead of RFC 5988 (<https://github.com/httpwg/
      http-core/issues/77>)

   o  Cite RFC 8187 instead of RFC 5987 (<https://github.com/httpwg/
      http-core/issues/78>)

   o  Cite RFC 7578 instead of RFC 2388 (<https://github.com/httpwg/
      http-core/issues/79>)

   o  Cite RFC 7595 instead of RFC 4395 (<https://github.com/httpwg/
      http-core/issues/80>)

   o  improve ABNF readability for qdtext (<https://github.com/httpwg/
      http-core/issues/81>, <https://www.rfc-editor.org/errata/eid4891>)

   o  Clarify "resource" vs "representation" in definition of status
      code 416 (<https://github.com/httpwg/http-core/issues/83>,
      <https://www.rfc-editor.org/errata/eid4664>)

   o  Resolved erratum 4072, no change needed here
      (<https://github.com/httpwg/http-core/issues/84>,
      <https://www.rfc-editor.org/errata/eid4072>)

   o  Clarify DELETE status code suggestions
      (<https://github.com/httpwg/http-core/issues/85>,
      <https://www.rfc-editor.org/errata/eid4436>)

Fielding, et al.        Expires January 13, 2021              [Page 196]
Internet-Draft               HTTP Semantics                    July 2020

   o  In Section 7.3.4, fix ABNF for "other-range-resp" to use VCHAR
      instead of CHAR (<https://github.com/httpwg/http-core/issues/86>,
      <https://www.rfc-editor.org/errata/eid4707>)

   o  Resolved erratum 5162, no change needed here
      (<https://github.com/httpwg/http-core/issues/89>,
      <https://www.rfc-editor.org/errata/eid5162>)

   o  Replace "response code" with "response status code" and "status-
      code" (the ABNF production name from the HTTP/1.1 message format)
      by "status code" (<https://github.com/httpwg/http-core/issues/94>,
      <https://www.rfc-editor.org/errata/eid4050>)

   o  Added a missing word in Section 10.4 (<https://github.com/httpwg/
      http-core/issues/98>, <https://www.rfc-editor.org/errata/eid4452>)

   o  In Section 5.5, fixed an example that had trailing whitespace
      where it shouldn't (<https://github.com/httpwg/http-core/
      issues/104>, <https://www.rfc-editor.org/errata/eid4169>)

   o  In Section 10.3.7, remove words that were potentially misleading
      with respect to the relation to the requested ranges
      (<https://github.com/httpwg/http-core/issues/102>,
      <https://www.rfc-editor.org/errata/eid4358>)

D.4.  Since draft-ietf-httpbis-semantics-02

   o  Included (Proxy-)Auth-Info header field definition from RFC 7615
      (<https://github.com/httpwg/http-core/issues/9>)

   o  In Section 8.3.3, clarify POST caching
      (<https://github.com/httpwg/http-core/issues/17>)

   o  Add Section 10.5.19 to reserve the 418 status code
      (<https://github.com/httpwg/http-core/issues/43>)

   o  In Section 2.1 and Section 9.1.1, clarified when a response can be
      sent (<https://github.com/httpwg/http-core/issues/82>)

   o  In Section 7.1.1.1, explain the difference between the "token"
      production, the RFC 2978 ABNF for charset names, and the actual
      registration practice (<https://github.com/httpwg/http-core/
      issues/100>, <https://www.rfc-editor.org/errata/eid4689>)

Fielding, et al.        Expires January 13, 2021              [Page 197]
Internet-Draft               HTTP Semantics                    July 2020

   o  In Section 2.5, removed the fragment component in the URI scheme
      definitions as per Section 4.3 of [RFC3986], furthermore moved
      fragment discussion into a separate section
      (<https://github.com/httpwg/http-core/issues/103>,
      <https://www.rfc-editor.org/errata/eid4251>, <https://www.rfc-
      editor.org/errata/eid4252>)

   o  In Section 4.2, add language about minor HTTP version number
      defaulting (<https://github.com/httpwg/http-core/issues/115>)

   o  Added Section 10.5.20 for status code 422, previously defined in
      Section 11.2 of [RFC4918] (<https://github.com/httpwg/http-core/
      issues/123>)

   o  In Section 10.5.17, fixed prose about byte range comparison
      (<https://github.com/httpwg/http-core/issues/135>,
      <https://www.rfc-editor.org/errata/eid5474>)

   o  In Section 2.1, explain that request/response correlation is
      version specific (<https://github.com/httpwg/http-core/
      issues/145>)

D.5.  Since draft-ietf-httpbis-semantics-03

   o  In Section 10.4.9, include status code 308 from RFC 7538
      (<https://github.com/httpwg/http-core/issues/3>)

   o  In Section 7.1.1, clarify that the charset parameter value is
      case-insensitive due to the definition in RFC 2046
      (<https://github.com/httpwg/http-core/issues/13>)

   o  Define a separate registry for HTTP header field names
      (<https://github.com/httpwg/http-core/issues/42>)

   o  In Section 9.4, refactor and clarify description of wildcard ("*")
      handling (<https://github.com/httpwg/http-core/issues/46>)

   o  Deprecate Accept-Charset (<https://github.com/httpwg/http-core/
      issues/61>)

   o  In Section 9.2.1, mention Cache-Control: immutable
      (<https://github.com/httpwg/http-core/issues/69>)

   o  In Section 5.1, clarify when header field combination is allowed
      (<https://github.com/httpwg/http-core/issues/74>)

   o  In Section 13.4, instruct IANA to mark Content-MD5 as obsolete
      (<https://github.com/httpwg/http-core/issues/93>)

Fielding, et al.        Expires January 13, 2021              [Page 198]
Internet-Draft               HTTP Semantics                    July 2020

   o  Use RFC 7405 ABNF notation for case-sensitive string constants
      (<https://github.com/httpwg/http-core/issues/133>)

   o  Rework Section 2.1 to be more version-independent
      (<https://github.com/httpwg/http-core/issues/142>)

   o  In Section 8.3.5, clarify that DELETE needs to be successful to
      invalidate cache (<https://github.com/httpwg/http-core/
      issues/167>, <https://www.rfc-editor.org/errata/eid5541>)

D.6.  Since draft-ietf-httpbis-semantics-04

   o  In Section 5.4, fix field-content ABNF
      (<https://github.com/httpwg/http-core/issues/19>,
      <https://www.rfc-editor.org/errata/eid4189>)

   o  Move Section 5.4.1.4 into its own section
      (<https://github.com/httpwg/http-core/issues/45>)

   o  In Section 7.2.1, reference MIME Sniffing
      (<https://github.com/httpwg/http-core/issues/51>)

   o  In Section 5.5, simplify the #rule mapping for recipients
      (<https://github.com/httpwg/http-core/issues/164>,
      <https://www.rfc-editor.org/errata/eid5257>)

   o  In Section 8.3.7, remove misleading text about "extension" of HTTP
      is needed to define method payloads (<https://github.com/httpwg/
      http-core/issues/204>)

   o  Fix editorial issue in Section 7 (<https://github.com/httpwg/http-
      core/issues/223>)

   o  In Section 10.5.20, rephrase language not to use "entity" anymore,
      and also avoid lowercase "may" (<https://github.com/httpwg/http-
      core/issues/224>)

   o  Move discussion of retries from [Messaging] into Section 8.2.2
      (<https://github.com/httpwg/http-core/issues/230>)

D.7.  Since draft-ietf-httpbis-semantics-05

   o  Moved transport-independent part of the description of trailers
      into Section 5.6 (<https://github.com/httpwg/http-core/issues/16>)

   o  Loosen requirements on retries based upon implementation behavior
      (<https://github.com/httpwg/http-core/issues/27>)

Fielding, et al.        Expires January 13, 2021              [Page 199]
Internet-Draft               HTTP Semantics                    July 2020

   o  In Section 13.9, update IANA port registry for TCP/UDP on ports 80
      and 443 (<https://github.com/httpwg/http-core/issues/36>)

   o  In Section 5.7, revise guidelines for new header field names
      (<https://github.com/httpwg/http-core/issues/47>)

   o  In Section 8.2.3, remove concept of "cacheable methods" in favor
      of prose (<https://github.com/httpwg/http-core/issues/54>,
      <https://www.rfc-editor.org/errata/eid5300>)

   o  In Section 12.1, mention that the concept of authority can be
      modified by protocol extensions (<https://github.com/httpwg/http-
      core/issues/143>)

   o  Create new subsection on payload body in Section 7.3.3, taken from
      portions of message body (<https://github.com/httpwg/http-core/
      issues/159>)

   o  Moved definition of "Whitespace" into new container "Generic
      Syntax" (<https://github.com/httpwg/http-core/issues/162>)

   o  In Section 2.5, recommend minimum URI size support for
      implementations (<https://github.com/httpwg/http-core/issues/169>)

   o  In Section 7.1.4, refactored the range-unit and ranges-specifier
      grammars (<https://github.com/httpwg/http-core/issues/196>,
      <https://www.rfc-editor.org/errata/eid5620>)

   o  In Section 8.3.1, caution against a request body more strongly
      (<https://github.com/httpwg/http-core/issues/202>)

   o  Reorganized text in Section 5.7 (<https://github.com/httpwg/http-
      core/issues/214>)

   o  In Section 10.5.4, replace "authorize" with "fulfill"
      (<https://github.com/httpwg/http-core/issues/218>)

   o  In Section 8.3.7, removed a misleading statement about Content-
      Length (<https://github.com/httpwg/http-core/issues/235>,
      <https://www.rfc-editor.org/errata/eid5806>)

   o  In Section 12.1, add text from RFC 2818
      (<https://github.com/httpwg/http-core/issues/236>)

   o  Changed "cacheable by default" to "heuristically cacheable"
      throughout (<https://github.com/httpwg/http-core/issues/242>)

Fielding, et al.        Expires January 13, 2021              [Page 200]
Internet-Draft               HTTP Semantics                    July 2020

D.8.  Since draft-ietf-httpbis-semantics-06

   o  In Section 6.7.1, simplify received-by grammar (and disallow comma
      character) (<https://github.com/httpwg/http-core/issues/24>)

   o  In Section 5.3, give guidance on interoperable field names
      (<https://github.com/httpwg/http-core/issues/30>)

   o  In Section 1.2.1, define the semantics and possible replacement of
      whitespace when it is known to occur (<https://github.com/httpwg/
      http-core/issues/53>, <https://www.rfc-editor.org/errata/eid5163>)

   o  In Section 5, introduce field terminology and distinguish between
      field line values and field values; use terminology consistently
      throughout (<https://github.com/httpwg/http-core/issues/111>)

   o  Moved #rule definition into Section 5.4 and whitespace into
      Section 1.2 (<https://github.com/httpwg/http-core/issues/162>)

   o  In Section 7.1.4, explicitly call out range unit names as case-
      insensitive, and encourage registration
      (<https://github.com/httpwg/http-core/issues/179>)

   o  In Section 7.1.2, explicitly call out content codings as case-
      insensitive, and encourage registration
      (<https://github.com/httpwg/http-core/issues/179>)

   o  In Section 5.3, explicitly call out field names as case-
      insensitive (<https://github.com/httpwg/http-core/issues/179>)

   o  In Section 12.11, cite [Bujlow] (<https://github.com/httpwg/http-
      core/issues/185>)

   o  In Section 10, formally define "final" and "interim" status codes
      (<https://github.com/httpwg/http-core/issues/245>)

   o  In Section 8.3.5, caution against a request body more strongly
      (<https://github.com/httpwg/http-core/issues/258>)

   o  In Section 11.2.3, note that Etag can be used in trailers
      (<https://github.com/httpwg/http-core/issues/262>)

   o  In Section 13.4, consider reserved fields as well
      (<https://github.com/httpwg/http-core/issues/273>)

   o  In Section 2.5.4, be more correct about what was deprecated by RFC
      3986 (<https://github.com/httpwg/http-core/issues/278>,
      <https://www.rfc-editor.org/errata/eid5964>)

Fielding, et al.        Expires January 13, 2021              [Page 201]
Internet-Draft               HTTP Semantics                    July 2020

   o  In Section 5.1, recommend comma SP when combining field lines
      (<https://github.com/httpwg/http-core/issues/148>)

   o  In Section 6.6, make explicit requirements on origin server to use
      authority from absolute-form when available
      (<https://github.com/httpwg/http-core/issues/191>)

   o  In Section 2.5.1, Section 2.5.2, Section 6.2, and Section 6.4,
      refactored schemes to define origin and authoritative access to an
      origin server for both "http" and "https" URIs to account for
      alternative services and secured connections that are not
      necessarily based on TCP (<https://github.com/httpwg/http-core/
      issues/237>)

   o  In Section 1.1, reference RFC 8174 as well
      (<https://github.com/httpwg/http-core/issues/303>)

D.9.  Since draft-ietf-httpbis-semantics-07

   o  In Section 9.3, explicitly reference the definition of
      representation data as including any content codings
      (<https://github.com/httpwg/http-core/issues/11>)

   o  Move TE: trailers from [Messaging] into Section 5.6.2
      (<https://github.com/httpwg/http-core/issues/18>)

   o  In Section 7.2.4, adjust requirements for handling multiple
      content-length values (<https://github.com/httpwg/http-core/
      issues/59>)

   o  In Section 9.2.3 and Section 9.2.4, clarified condition evaluation
      (<https://github.com/httpwg/http-core/issues/72>)

   o  In Section 5.4, remove concept of obs-fold, as that is
      HTTP/1-specific (<https://github.com/httpwg/http-core/issues/116>)

   o  In Section 7.4, introduce the concept of request payload
      negotiation (Section 7.4.3) and define for Accept-Encoding
      (<https://github.com/httpwg/http-core/issues/119>)

   o  In Section 10.3.6, Section 10.5.9, and Section 10.5.14, remove
      HTTP/1-specific, connection-related requirements
      (<https://github.com/httpwg/http-core/issues/144>)

   o  In Section 8.3.6, correct language about what is forwarded
      (<https://github.com/httpwg/http-core/issues/170>)

Fielding, et al.        Expires January 13, 2021              [Page 202]
Internet-Draft               HTTP Semantics                    July 2020

   o  Throughout, replace "effective request URI", "request-target" and
      similar with "target URI" (<https://github.com/httpwg/http-core/
      issues/259>)

   o  In Section 5.7 and Section 10.7.2, describe how extensions should
      consider scope of applicability (<https://github.com/httpwg/http-
      core/issues/265>)

   o  In Section 2.1, don't rely on the HTTP/1.1 Messaging specification
      to define "message" (<https://github.com/httpwg/http-core/
      issues/311>)

   o  In Section 7.2.5 and Section 9.6.2, note that URL resolution is
      necessary (<https://github.com/httpwg/http-core/issues/321>)

   o  In Section 7, explicitly reference 206 as one of the status codes
      that provide representation data (<https://github.com/httpwg/http-
      core/issues/325>)

   o  In Section 9.2.6, refine requirements so that they don't apply to
      resources without a concept of modification time
      (<https://github.com/httpwg/http-core/issues/326>)

   o  In Section 11.3.2, specify the scope as a request, not a target
      resource (<https://github.com/httpwg/http-core/issues/331>)

   o  In Section 2.1, introduce concept of "complete" messages
      (<https://github.com/httpwg/http-core/issues/334>)

   o  In Section 6.1, Section 8.3.6, and Section 8.3.7, refine use of
      "request target" (<https://github.com/httpwg/http-core/
      issues/340>)

   o  Throughout, remove "status-line" and "request-line", as these are
      HTTP/1.1-specific (<https://github.com/httpwg/http-core/
      issues/361>)

D.10.  Since draft-ietf-httpbis-semantics-08

   o  In Section 10.5.17, remove duplicate definition of what makes a
      range satisfiable and refer instead to each range unit's
      definition (<https://github.com/httpwg/http-core/issues/12>)

   o  In Section 7.1.4.2 and Section 9.3, clarify that a selected
      representation of zero length can only be satisfiable as a suffix
      range and that a server can still ignore Range for that case
      (<https://github.com/httpwg/http-core/issues/12>)

Fielding, et al.        Expires January 13, 2021              [Page 203]
Internet-Draft               HTTP Semantics                    July 2020

   o  In Section 9.4.1 and Section 10.5.16, allow "Accept" as response
      field (<https://github.com/httpwg/http-core/issues/48>)

   o  Appendix A now uses the sender variant of the "#" list expansion
      (<https://github.com/httpwg/http-core/issues/192>)

   o  In Section 11.1.4, make the field list-based even when "*" is
      present (<https://github.com/httpwg/http-core/issues/272>)

   o  In Section 5.3.2, add optional "Comments" entry
      (<https://github.com/httpwg/http-core/issues/273>)

   o  In Section 5.8, reserve "*" as field name
      (<https://github.com/httpwg/http-core/issues/274>)

   o  In Section 13.2, reserve "*" as method name
      (<https://github.com/httpwg/http-core/issues/274>)

   o  In Section 9.2.3 and Section 9.2.4, state that multiple "*" is
      unlikely to be interoperable (<https://github.com/httpwg/http-
      core/issues/305>)

   o  In Section 9.4.1, avoid use of obsolete media type parameter on
      text/html (<https://github.com/httpwg/http-core/issues/375>,
      <https://www.rfc-editor.org/errata/eid6149>)

   o  Rephrase prose in Section 2.1 to become version-agnostic
      (<https://github.com/httpwg/http-core/issues/372>)

   o  In Section 5.4, instruct recipients how to deal with control
      characters in field values (<https://github.com/httpwg/http-core/
      issues/377>)

   o  In Section 5.4, update note about field ABNF
      (<https://github.com/httpwg/http-core/issues/380>)

   o  Add Section 4 about Extending and Versioning HTTP
      (<https://github.com/httpwg/http-core/issues/384>)

   o  In Section 10.1, include status 308 in list of heuristically
      cacheable status codes (<https://github.com/httpwg/http-core/
      issues/385>)

   o  In Section 7.2.2, make it clearer that "identity" is not to be
      included (<https://github.com/httpwg/http-core/issues/388>)

D.11.  Since draft-ietf-httpbis-semantics-09

Fielding, et al.        Expires January 13, 2021              [Page 204]
Internet-Draft               HTTP Semantics                    July 2020

   o  Switch to xml2rfc v3 mode for draft generation
      (<https://github.com/httpwg/http-core/issues/394>)

Acknowledgments

   This edition of the HTTP specification builds on the many
   contributions that went into RFC 1945, RFC 2068, RFC 2145, RFC 2616,
   and RFC 2818, including substantial contributions made by the
   previous authors, editors, and Working Group Chairs: Tim Berners-Lee,
   Ari Luotonen, Roy T.  Fielding, Henrik Frystyk Nielsen, Jim Gettys,
   Jeffrey C.  Mogul, Larry Masinter, Paul J.  Leach, Eric Rescorla, and
   Yves Lafon.

   See Section 10 of [RFC7230] for further acknowledgements from prior
   revisions.

   In addition, this document has reincorporated the HTTP Authentication
   Framework, previously defined in RFC 7235 and RFC 2617.  We thank
   John Franks, Phillip M.  Hallam-Baker, Jeffery L.  Hostetler, Scott
   D.  Lawrence, Paul J.  Leach, Ari Luotonen, and Lawrence C.  Stewart
   for their work on that specification.  See Section 6 of [RFC2617] for
   further acknowledgements.

   // New acks to be added here.

Authors' Addresses

   Roy T. Fielding (editor)
   Adobe
   345 Park Ave
   San Jose, CA 95110
   United States of America

   Email: fielding@gbiv.com
   URI:   https://roy.gbiv.com/

   Mark Nottingham (editor)
   Fastly

   Email: mnot@mnot.net
   URI:   https://www.mnot.net/

   Julian F. Reschke (editor)
   greenbytes GmbH
   Hafenweg 16

Fielding, et al.        Expires January 13, 2021              [Page 205]
Internet-Draft               HTTP Semantics                    July 2020

   48155 Münster
   Germany

   Email: julian.reschke@greenbytes.de
   URI:   https://greenbytes.de/tech/webdav/

Fielding, et al.        Expires January 13, 2021              [Page 206]