]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Update misc/relevant_standards to reflect current RFCs
authorRich Bowen <rbowen@apache.org>
Fri, 5 Jun 2026 19:55:22 +0000 (19:55 +0000)
committerRich Bowen <rbowen@apache.org>
Fri, 5 Jun 2026 19:55:22 +0000 (19:55 +0000)
Replace obsolete RFC references (2616, 2396, 4346, 2617) with their
modern successors. Add sections for TLS, proxying, WebSocket, CGI, and
WebDAV. Remove HTML section (httpd does not validate content markup).
Remove stale "not yet complete" notice and dead skrb.org errata link.

Closes: Bugzilla 70089
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935048 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/misc/relevant_standards.xml

index 3cfd3afe1197575748d8d3a1d9bba26c0c895b78..b7b926558deaecf434360c4d94b7800363917fb4 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
-<!-- $LastChangedRevision$ -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
   <title>Relevant Standards</title>
 
   <summary>
-    <p>This page documents all the relevant standards that the
-    Apache HTTP Server follows, along with brief descriptions.</p>
+    <p>This page documents the relevant standards that the
+    Apache HTTP Server implements or follows, along with brief
+    descriptions.</p>
 
     <p>In addition to the information listed below, the following resources
     should be consulted:</p>
 
     <ul>
-      <li>
-        <a href="https://www.skrb.org/ietf/http_errata.html">
-        https://www.skrb.org/ietf/http_errata.html</a> - HTTP/1.1 Specification Errata
-      </li>
       <li>
         <a href="https://www.rfc-editor.org/errata.php">
-        https://www.rfc-editor.org/errata.php</a> - RFC Errata
+        RFC Errata</a> - Errata for published RFCs
       </li>
       <li>
         <a href="https://httpwg.org/specs/">
-        https://httpwg.org/specs/</a> - A pre-compiled list
-        of HTTP related RFCs
+        HTTP Working Group Specifications</a> - A pre-compiled list
+        of HTTP related RFCs and drafts
       </li>
     </ul>
 
-    <note type="warning"><title>Notice</title>
-    <p>This document is not yet complete.</p>
-    </note>
-
   </summary>
 
-  <section id="http_recommendations"><title>HTTP Recommendations</title>
+  <section id="http_recommendations"><title>HTTP</title>
 
     <p>Regardless of what modules are compiled and used, Apache as a
-    basic web server complies with the following IETF recommendations:</p>
+    basic web server complies with the following IETF standards:</p>
 
     <dl>
+      <dt><rfc>9110</rfc>
+      (Standards Track) - HTTP Semantics</dt>
+
+      <dd>Defines the semantics shared by all versions of HTTP:
+      methods, status codes, header and trailer fields, content
+      negotiation, and message metadata. Obsoletes RFC 7231, 7232,
+      7233, 7235, and 7694.</dd>
+
+      <dt><rfc>9111</rfc>
+      (Standards Track) - HTTP Caching</dt>
+
+      <dd>Defines HTTP caches and the associated header fields that
+      control cache behavior or indicate cacheable response messages.
+      Obsoletes RFC 7234.</dd>
+
+      <dt><rfc>9112</rfc>
+      (Standards Track) - HTTP/1.1</dt>
+
+      <dd>Defines the HTTP/1.1 message syntax and connection management.
+      Obsoletes RFC 7230.</dd>
+
+      <dt><rfc>9113</rfc>
+      (Standards Track) - HTTP/2</dt>
+
+      <dd>Defines an optimized expression of HTTP semantics using
+      binary framing and multiplexed streams over a single TCP
+      connection. Obsoletes RFC 7540 and 8740.</dd>
+
+      <dt><rfc>9114</rfc>
+      (Standards Track) - HTTP/3</dt>
+
+      <dd>Defines the mapping of HTTP semantics over QUIC, providing
+      similar features to HTTP/2 with reduced latency.</dd>
+
       <dt><rfc>1945</rfc>
-      (Informational)</dt>
+      (Informational) - HTTP/1.0</dt>
 
-      <dd>The Hypertext Transfer Protocol (HTTP) is an application-level
-      protocol with the lightness and speed necessary for distributed,
-      collaborative, hypermedia information systems.  This documents
-      HTTP/1.0.</dd>
+      <dd>The original HTTP/1.0 specification. Retained for historical
+      reference; httpd still accepts HTTP/1.0 requests.</dd>
+    </dl>
 
-      <dt><rfc>2616</rfc>
-      (Standards Track)</dt>
+  </section>
 
-      <dd>The Hypertext Transfer Protocol (HTTP) is an
-      application-level protocol for distributed, collaborative,
-      hypermedia information systems.  This documents HTTP/1.1.</dd>
+  <section id="uri"><title>URIs</title>
 
-      <dt><rfc>2396</rfc>
-      (Standards Track)</dt>
+    <dl>
+      <dt><rfc>3986</rfc>
+      (Standards Track) - Uniform Resource Identifier (URI): Generic Syntax</dt>
 
-      <dd>A Uniform Resource Identifier (URI) is a compact string of
-      characters for identifying an abstract or physical resource.</dd>
+      <dd>The generic syntax and resolution rules for Uniform Resource
+      Identifiers. Obsoletes RFC 2396.</dd>
 
-      <dt><rfc>4346</rfc>
-      (Standards Track)</dt>
+      <dt><rfc>6570</rfc>
+      (Standards Track) - URI Template</dt>
 
-      <dd>The TLS protocol provides communications security over the
-      Internet.  It provides encryption, and is designed to prevent
-      eavesdropping, tampering, and message forgery.</dd>
+      <dd>Defines a compact sequence of characters for describing a
+      range of URIs through variable expansion.</dd>
     </dl>
 
   </section>
 
-  <section id="html_recommendations"><title>HTML Recommendations</title>
+  <section id="tls"><title>TLS/SSL</title>
 
-    <p>Regarding the Hypertext Markup Language, Apache complies with
-    the following IETF and W3C recommendations:</p>
+    <p>The following standards apply when <module>mod_ssl</module> is
+    enabled:</p>
 
     <dl>
-      <dt><rfc>2854</rfc>
-      (Informational)</dt>
+      <dt><rfc>8446</rfc>
+      (Standards Track) - TLS 1.3</dt>
+
+      <dd>The current version of the Transport Layer Security protocol,
+      providing communications privacy over the Internet. Obsoletes
+      RFC 5246 (TLS 1.2 specification text).</dd>
+
+      <dt><rfc>5246</rfc>
+      (Standards Track) - TLS 1.2</dt>
 
-      <dd>This document summarizes the history of HTML development,
-      and defines the "text/html" MIME type by pointing to the relevant
-      W3C recommendations.</dd>
+      <dd>The previous widely-deployed version of TLS.  Still supported
+      by httpd for compatibility with older clients.</dd>
 
-      <dt><a href="http://www.w3.org/TR/html401">HTML 4.01 Specification</a>
-      (<a href="http://www.w3.org/MarkUp/html4-updates/errata">Errata</a>)
-      </dt>
+      <dt><rfc>6960</rfc>
+      (Standards Track) - OCSP</dt>
+
+      <dd>The Online Certificate Status Protocol, used for checking
+      certificate revocation status in real time (OCSP stapling via
+      <directive module="mod_ssl">SSLStaplingCache</directive>).</dd>
+
+      <dt><rfc>6066</rfc>
+      (Standards Track) - TLS Extensions</dt>
+
+      <dd>Defines TLS extensions including Server Name Indication (SNI),
+      which httpd uses for name-based virtual hosting over TLS.</dd>
+    </dl>
 
-      <dd>This specification defines the HyperText Markup Language (HTML),
-      the publishing language of the World Wide Web. This specification
-      defines HTML 4.01, which is a subversion of HTML 4.</dd>
+  </section>
 
-      <dt><a href="http://www.w3.org/TR/REC-html32">HTML 3.2 Reference
-      Specification</a></dt>
+  <section id="authentication"><title>Authentication</title>
 
-      <dd>The HyperText Markup Language (HTML) is a simple markup language
-      used to create hypertext documents that are portable from one
-      platform to another. HTML documents are SGML documents.</dd>
+    <p>Concerning the different methods of authentication:</p>
 
-      <dt><a href="http://www.w3.org/TR/xhtml11/">XHTML 1.1 -
-      Module-based XHTML</a>
-      (<a href="http://www.w3.org/MarkUp/2009/xhtml11-2nd-edition-errata.html">Errata</a>)
-      </dt>
+    <dl>
+      <dt><rfc>7617</rfc>
+      (Standards Track) - The 'Basic' HTTP Authentication Scheme</dt>
 
-      <dd>This Recommendation defines a new XHTML document type
-      that is based upon the module framework and modules defined in
-      Modularization of XHTML.</dd>
+      <dd>HTTP Basic authentication, transmitting credentials as
+      user-id/password pairs encoded in Base64. Obsoletes RFC 2617
+      (Basic auth portion).</dd>
 
-      <dt><a href="http://www.w3.org/TR/xhtml1">XHTML 1.0 The
-      Extensible HyperText Markup Language (Second Edition)</a>
-      (<a href="http://www.w3.org/2002/08/REC-xhtml1-20020801-errata/">Errata</a>)
-      </dt>
+      <dt><rfc>7616</rfc>
+      (Standards Track) - HTTP Digest Access Authentication</dt>
 
-      <dd>This specification defines the Second Edition of XHTML 1.0,
-      a reformulation of HTML 4 as an XML 1.0 application, and three
-      DTDs corresponding to the ones defined by HTML 4.</dd>
+      <dd>HTTP Digest authentication, providing a challenge-response
+      mechanism that avoids sending the password in cleartext.
+      Obsoletes RFC 2617 (Digest auth portion).</dd>
     </dl>
 
   </section>
 
-  <section id="authentication"><title>Authentication</title>
+  <section id="content_negotiation"><title>Content Negotiation and Compression</title>
+
+    <dl>
+      <dt><rfc section="12">9110</rfc> - Content Negotiation</dt>
+
+      <dd>Proactive and reactive content negotiation, including the
+      Accept, Accept-Language, Accept-Encoding, and Accept-Charset
+      header fields.</dd>
+
+      <dt><rfc>7932</rfc>
+      (Informational) - Brotli Compressed Data Format</dt>
 
-    <p>Concerning the different methods of authentication, Apache
-    follows the following IETF recommendations:</p>
+      <dd>Defines the Brotli compression algorithm, supported via
+      <module>mod_brotli</module>.</dd>
+    </dl>
+
+  </section>
+
+  <section id="proxy"><title>Proxying and Forwarding</title>
+
+    <p>When <module>mod_proxy</module> is enabled:</p>
 
     <dl>
-      <dt><rfc>2617</rfc>
-      (Standards Track)</dt>
+      <dt><rfc>7239</rfc>
+      (Standards Track) - Forwarded HTTP Extension</dt>
+
+      <dd>Defines the Forwarded header field for conveying information
+      about the client-facing side of proxy servers.</dd>
+
+      <dt><rfc>9209</rfc>
+      (Standards Track) - The Proxy-Status HTTP Response Header Field</dt>
+
+      <dd>Defines a mechanism for proxies to communicate the details
+      of intermediary handling to the client.</dd>
+
+      <dt><rfc>9220</rfc>
+      (Standards Track) - Bootstrapping WebSockets with HTTP/2</dt>
+
+      <dd>Defines a mechanism for running the WebSocket protocol over
+      a single HTTP/2 stream.</dd>
+    </dl>
+
+  </section>
+
+  <section id="websocket"><title>WebSocket</title>
+
+    <dl>
+      <dt><rfc>6455</rfc>
+      (Standards Track) - The WebSocket Protocol</dt>
+
+      <dd>Defines the WebSocket protocol, enabling two-way
+      communication between a client and server over a single TCP
+      connection. Supported via <module>mod_proxy_wstunnel</module>.</dd>
+    </dl>
+
+  </section>
+
+  <section id="cgi"><title>CGI</title>
+
+    <dl>
+      <dt><rfc>3875</rfc>
+      (Informational) - The Common Gateway Interface (CGI) Version 1.1</dt>
+
+      <dd>Defines the Common Gateway Interface for running external
+      programs on a web server. Implemented by
+      <module>mod_cgi</module> and <module>mod_cgid</module>.</dd>
+    </dl>
+
+  </section>
+
+  <section id="webdav"><title>WebDAV</title>
+
+    <p>When <module>mod_dav</module> is enabled:</p>
+
+    <dl>
+      <dt><rfc>4918</rfc>
+      (Standards Track) - HTTP Extensions for Web Distributed Authoring
+      and Versioning (WebDAV)</dt>
+
+      <dd>Defines extensions to HTTP for distributed authoring
+      operations. Obsoletes RFC 2518.</dd>
 
-      <dd>"HTTP/1.0", includes the specification for a Basic
-      Access Authentication scheme.</dd>
+      <dt><rfc>3744</rfc>
+      (Standards Track) - Web Distributed Authoring and Versioning (WebDAV)
+      Access Control Protocol</dt>
 
+      <dd>Defines access control extensions to WebDAV.</dd>
     </dl>
 
   </section>
 
   <section id="language_country_codes"><title>Language/Country Codes</title>
 
-    <p>The following links document ISO and other language and country
-    code information:</p>
+    <p>Language and country codes used in content negotiation:</p>
 
     <dl>
-      <dt><a href="http://www.loc.gov/standards/iso639-2/">ISO 639-2</a></dt>
+      <dt><a href="https://www.loc.gov/standards/iso639-2/">ISO 639-2</a></dt>
 
       <dd>ISO 639 provides two sets of language codes, one as a two-letter
       code set (639-1) and another as a three-letter code set (this part
       of ISO 639) for the representation of names of languages.</dd>
 
-      <dt><a href="http://www.iso.org/iso/country_codes">
+      <dt><a href="https://www.iso.org/iso-3166-country-codes.html">
       ISO 3166-1</a></dt>
 
-      <dd>These pages document the country names (official short names
-      in English) in alphabetical order as given in ISO 3166-1 and the
-      corresponding ISO 3166-1-alpha-2 code elements.</dd>
+      <dd>Country names and corresponding alpha-2 and alpha-3 code
+      elements.</dd>
 
-      <dt><a href="https://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a>
-      (Best Current Practice),
-      <rfc>3066</rfc></dt>
+      <dt><rfc>5646</rfc>
+      (Best Current Practice) - Tags for Identifying Languages</dt>
 
-      <dd>This document describes a language tag for use in cases where
-      it is desired to indicate the language used in an information
-      object, how to register values for use in this language tag,
-      and a construct for matching such language tags.</dd>
+      <dd>Describes the structure and registry of language tags used in
+      HTTP content negotiation (Accept-Language, Content-Language).
+      Obsoletes RFC 3066.</dd>
 
       <dt><rfc>3282</rfc>
       (Standards Track)</dt>
 
-      <dd>This document defines a "Content-language:" header, for use in
-      cases where one desires to indicate the language of something that
-      has RFC 822-like headers, like MIME body parts or Web documents,
-      and an "Accept-Language:" header for use in cases where one wishes
-      to indicate one's preferences with regard to language.</dd>
+      <dd>Defines the Content-Language and Accept-Language header fields
+      for indicating language preferences in HTTP messages.</dd>
     </dl>
 
   </section>