Changeset 346 for draft-ietf-httpbis/latest
- Timestamp:
- 12/11/08 19:58:51 (14 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r345 r346 379 379 <link rel="Appendix" title="B Conversion of Date Formats" href="#rfc.section.B"> 380 380 <link rel="Appendix" title="C Compatibility with Previous Versions" href="#rfc.section.C"> 381 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 381 <link rel="Appendix" title="D Terminology" href="#rfc.section.D"> 382 <link rel="Appendix" title="E Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.E"> 382 383 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.400, 2008-10-10 14:04:14, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/"> 383 384 <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"> … … 476 477 <tr> 477 478 <td class="header left"></td> 478 <td class="header right">November 1 1, 2008</td>479 <td class="header right">November 12, 2008</td> 479 480 </tr> 480 481 </table> … … 509 510 list is at <<a href="http://tools.ietf.org/wg/httpbis/trac/report/11">http://tools.ietf.org/wg/httpbis/trac/report/11</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 510 511 </p> 511 <p>The changes in this draft are summarized in <a href="#changes.since.04" title="Since draft-ietf-httpbis-p1-messaging-04">Appendix D.6</a>.512 <p>The changes in this draft are summarized in <a href="#changes.since.04" title="Since draft-ietf-httpbis-p1-messaging-04">Appendix E.6</a>. 512 513 </p> 513 514 <hr class="noprint"> … … 517 518 <li class="tocline1">1.1 <a href="#intro.purpose">Purpose</a></li> 518 519 <li class="tocline1">1.2 <a href="#intro.requirements">Requirements</a></li> 519 <li class="tocline1">1.3 <a href="#intro.terminology">Terminology</a></li> 520 <li class="tocline1">1.4 <a href="#intro.overall.operation">Overall Operation</a></li> 520 <li class="tocline1">1.3 <a href="#intro.overall.operation">Overall Operation</a></li> 521 521 </ul> 522 522 </li> … … 648 648 </ul> 649 649 </li> 650 <li class="tocline0">D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul class="toc"> 651 <li class="tocline1">D.1 <a href="#rfc.section.D.1">Since RFC2616</a></li> 652 <li class="tocline1">D.2 <a href="#rfc.section.D.2">Since draft-ietf-httpbis-p1-messaging-00</a></li> 653 <li class="tocline1">D.3 <a href="#rfc.section.D.3">Since draft-ietf-httpbis-p1-messaging-01</a></li> 654 <li class="tocline1">D.4 <a href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></li> 655 <li class="tocline1">D.5 <a href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></li> 656 <li class="tocline1">D.6 <a href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></li> 650 <li class="tocline0">D. <a href="#terminology">Terminology</a></li> 651 <li class="tocline0">E. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul class="toc"> 652 <li class="tocline1">E.1 <a href="#rfc.section.E.1">Since RFC2616</a></li> 653 <li class="tocline1">E.2 <a href="#rfc.section.E.2">Since draft-ietf-httpbis-p1-messaging-00</a></li> 654 <li class="tocline1">E.3 <a href="#rfc.section.E.3">Since draft-ietf-httpbis-p1-messaging-01</a></li> 655 <li class="tocline1">E.4 <a href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></li> 656 <li class="tocline1">E.5 <a href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></li> 657 <li class="tocline1">E.6 <a href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></li> 657 658 </ul> 658 659 </li> … … 695 696 <p id="rfc.section.1.2.p.2">An implementation is not compliant if it fails to satisfy one or more of the <em class="bcp14">MUST</em> or <em class="bcp14">REQUIRED</em> level requirements for the protocols it implements. An implementation that satisfies all the <em class="bcp14">MUST</em> or <em class="bcp14">REQUIRED</em> level and all the <em class="bcp14">SHOULD</em> level requirements for its protocols is said to be "unconditionally compliant"; one that satisfies all the <em class="bcp14">MUST</em> level requirements but not all the <em class="bcp14">SHOULD</em> level requirements for its protocols is said to be "conditionally compliant." 696 697 </p> 697 <h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a> <a id="intro.terminology" href="#intro.terminology">Terminology</a></h2> 698 <p id="rfc.section.1.3.p.1">This specification uses a number of terms to refer to the roles played by participants in, and objects of, the HTTP communication.</p> 699 <p id="rfc.section.1.3.p.2"> <span id="rfc.iref.c.1"></span> <dfn>connection</dfn> 700 </p> 701 <dl class="empty"> 702 <dd>A transport layer virtual circuit established between two programs for the purpose of communication.</dd> 703 </dl> 704 <p id="rfc.section.1.3.p.3"> <span id="rfc.iref.m.1"></span> <dfn>message</dfn> 705 </p> 706 <dl class="empty"> 707 <dd>The basic unit of HTTP communication, consisting of a structured sequence of octets matching the syntax defined in <a href="#http.message" title="HTTP Message">Section 4</a> and transmitted via the connection. 708 </dd> 709 </dl> 710 <p id="rfc.section.1.3.p.4"> <span id="rfc.iref.r.1"></span> <dfn>request</dfn> 711 </p> 712 <dl class="empty"> 713 <dd>An HTTP request message, as defined in <a href="#request" title="Request">Section 5</a>. 714 </dd> 715 </dl> 716 <p id="rfc.section.1.3.p.5"> <span id="rfc.iref.r.2"></span> <dfn>response</dfn> 717 </p> 718 <dl class="empty"> 719 <dd>An HTTP response message, as defined in <a href="#response" title="Response">Section 6</a>. 720 </dd> 721 </dl> 722 <p id="rfc.section.1.3.p.6"> <span id="rfc.iref.r.3"></span> <dfn>resource</dfn> 723 </p> 724 <dl class="empty"> 725 <dd>A network data object or service that can be identified by a URI, as defined in <a href="#uri" title="Uniform Resource Identifiers">Section 3.2</a>. Resources may be available in multiple representations (e.g. multiple languages, data formats, size, and resolutions) or 726 vary in other ways. 727 </dd> 728 </dl> 729 <p id="rfc.section.1.3.p.7"> <span id="rfc.iref.e.1"></span> <dfn>entity</dfn> 730 </p> 731 <dl class="empty"> 732 <dd>The information transferred as the payload of a request or response. An entity consists of metainformation in the form of 733 entity-header fields and content in the form of an entity-body, as described in <a href="p3-payload.html#entity" title="Entity">Section 4</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 734 </dd> 735 </dl> 736 <p id="rfc.section.1.3.p.8"> <span id="rfc.iref.r.4"></span> <dfn>representation</dfn> 737 </p> 738 <dl class="empty"> 739 <dd>An entity included with a response that is subject to content negotiation, as described in <a href="p3-payload.html#content.negotiation" title="Content Negotiation">Section 5</a> of <a href="#Part3" id="rfc.xref.Part3.2"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. There may exist multiple representations associated with a particular response status. 740 </dd> 741 </dl> 742 <p id="rfc.section.1.3.p.9"> <span id="rfc.iref.c.2"></span> <dfn>content negotiation</dfn> 743 </p> 744 <dl class="empty"> 745 <dd>The mechanism for selecting the appropriate representation when servicing a request, as described in <a href="p3-payload.html#content.negotiation" title="Content Negotiation">Section 5</a> of <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. The representation of entities in any response can be negotiated (including error responses). 746 </dd> 747 </dl> 748 <p id="rfc.section.1.3.p.10"> <span id="rfc.iref.v.1"></span> <dfn>variant</dfn> 749 </p> 750 <dl class="empty"> 751 <dd>A resource may have one, or more than one, representation(s) associated with it at any given instant. Each of these representations 752 is termed a `variant'. Use of the term `variant' does not necessarily imply that the resource is subject to content negotiation. 753 </dd> 754 </dl> 755 <p id="rfc.section.1.3.p.11"> <span id="rfc.iref.c.3"></span> <dfn>client</dfn> 756 </p> 757 <dl class="empty"> 758 <dd>A program that establishes connections for the purpose of sending requests.</dd> 759 </dl> 760 <p id="rfc.section.1.3.p.12"> <span id="rfc.iref.u.1"></span> <dfn>user agent</dfn> 761 </p> 762 <dl class="empty"> 763 <dd>The client which initiates a request. These are often browsers, editors, spiders (web-traversing robots), or other end user 764 tools. 765 </dd> 766 </dl> 767 <p id="rfc.section.1.3.p.13"> <span id="rfc.iref.s.1"></span> <dfn>server</dfn> 768 </p> 769 <dl class="empty"> 770 <dd>An application program that accepts connections in order to service requests by sending back responses. Any given program 771 may be capable of being both a client and a server; our use of these terms refers only to the role being performed by the 772 program for a particular connection, rather than to the program's capabilities in general. Likewise, any server may act as 773 an origin server, proxy, gateway, or tunnel, switching behavior based on the nature of each request. 774 </dd> 775 </dl> 776 <p id="rfc.section.1.3.p.14"> <span id="rfc.iref.o.1"></span> <dfn>origin server</dfn> 777 </p> 778 <dl class="empty"> 779 <dd>The server on which a given resource resides or is to be created.</dd> 780 </dl> 781 <p id="rfc.section.1.3.p.15"> <span id="rfc.iref.p.1"></span> <dfn>proxy</dfn> 782 </p> 783 <dl class="empty"> 784 <dd>An intermediary program which acts as both a server and a client for the purpose of making requests on behalf of other clients. 785 Requests are serviced internally or by passing them on, with possible translation, to other servers. A proxy <em class="bcp14">MUST</em> implement both the client and server requirements of this specification. A "transparent proxy" is a proxy that does not modify 786 the request or response beyond what is required for proxy authentication and identification. A "non-transparent proxy" is 787 a proxy that modifies the request or response in order to provide some added service to the user agent, such as group annotation 788 services, media type transformation, protocol reduction, or anonymity filtering. Except where either transparent or non-transparent 789 behavior is explicitly stated, the HTTP proxy requirements apply to both types of proxies. 790 </dd> 791 </dl> 792 <p id="rfc.section.1.3.p.16"> <span id="rfc.iref.g.1"></span> <dfn>gateway</dfn> 793 </p> 794 <dl class="empty"> 795 <dd>A server which acts as an intermediary for some other server. Unlike a proxy, a gateway receives requests as if it were the 796 origin server for the requested resource; the requesting client may not be aware that it is communicating with a gateway. 797 </dd> 798 </dl> 799 <p id="rfc.section.1.3.p.17"> <span id="rfc.iref.t.1"></span> <dfn>tunnel</dfn> 800 </p> 801 <dl class="empty"> 802 <dd>An intermediary program which is acting as a blind relay between two connections. Once active, a tunnel is not considered 803 a party to the HTTP communication, though the tunnel may have been initiated by an HTTP request. The tunnel ceases to exist 804 when both ends of the relayed connections are closed. 805 </dd> 806 </dl> 807 <p id="rfc.section.1.3.p.18"> <span id="rfc.iref.c.4"></span> <dfn>cache</dfn> 808 </p> 809 <dl class="empty"> 810 <dd>A program's local store of response messages and the subsystem that controls its message storage, retrieval, and deletion. 811 A cache stores cacheable responses in order to reduce the response time and network bandwidth consumption on future, equivalent 812 requests. Any client or server may include a cache, though a cache cannot be used by a server that is acting as a tunnel. 813 </dd> 814 </dl> 815 <p id="rfc.section.1.3.p.19"> <span id="rfc.iref.c.5"></span> <dfn>cacheable</dfn> 816 </p> 817 <dl class="empty"> 818 <dd>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests. 819 The rules for determining the cacheability of HTTP responses are defined in <a href="p6-cache.html#caching" title="Introduction">Section 1</a> of <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>. Even if a resource is cacheable, there may be additional constraints on whether a cache can use the cached copy for a particular 820 request. 821 </dd> 822 </dl> 823 <p id="rfc.section.1.3.p.20"> <span id="rfc.iref.u.2"></span> <span id="rfc.iref.d.1"></span> <dfn>upstream</dfn>/<dfn>downstream</dfn> 824 </p> 825 <dl class="empty"> 826 <dd>Upstream and downstream describe the flow of a message: all messages flow from upstream to downstream.</dd> 827 </dl> 828 <p id="rfc.section.1.3.p.21"> <span id="rfc.iref.i.1"></span> <span id="rfc.iref.o.2"></span> <dfn>inbound</dfn>/<dfn>outbound</dfn> 829 </p> 830 <dl class="empty"> 831 <dd>Inbound and outbound refer to the request and response paths for messages: "inbound" means "traveling toward the origin server", 832 and "outbound" means "traveling toward the user agent" 833 </dd> 834 </dl> 835 <h2 id="rfc.section.1.4"><a href="#rfc.section.1.4">1.4</a> <a id="intro.overall.operation" href="#intro.overall.operation">Overall Operation</a></h2> 836 <p id="rfc.section.1.4.p.1">HTTP is a request/response protocol. A client sends a request to the server in the form of a request method, URI, and protocol 698 <h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a> <a id="intro.overall.operation" href="#intro.overall.operation">Overall Operation</a></h2> 699 <p id="rfc.section.1.3.p.1">HTTP is a request/response protocol. A client sends a request to the server in the form of a request method, URI, and protocol 837 700 version, followed by a MIME-like message containing request modifiers, client information, and possible body content over 838 701 a connection with a server. The server responds with a status line, including the message's protocol version and a success 839 702 or error code, followed by a MIME-like message containing server information, entity metainformation, and possible entity-body 840 content. The relationship between HTTP and MIME is described in <a href="p3-payload.html#differences.between.http.entities.and.rfc.2045.entities" title="Differences Between HTTP Entities and RFC 2045 Entities">Appendix A</a> of <a href="#Part3" id="rfc.xref.Part3. 4"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>.841 </p> 842 <p id="rfc.section.1. 4.p.2">Most HTTP communication is initiated by a user agent and consists of a request to be applied to a resource on some origin703 content. The relationship between HTTP and MIME is described in <a href="p3-payload.html#differences.between.http.entities.and.rfc.2045.entities" title="Differences Between HTTP Entities and RFC 2045 Entities">Appendix A</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 704 </p> 705 <p id="rfc.section.1.3.p.2">Most HTTP communication is initiated by a user agent and consists of a request to be applied to a resource on some origin 843 706 server. In the simplest case, this may be accomplished via a single connection (v) between the user agent (UA) and the origin 844 707 server (O). … … 847 710 UA -------------------v------------------- O 848 711 <----------------------- response chain 849 </pre><p id="rfc.section.1. 4.p.4">A more complicated situation occurs when one or more intermediaries are present in the request/response chain. There are three712 </pre><p id="rfc.section.1.3.p.4">A more complicated situation occurs when one or more intermediaries are present in the request/response chain. There are three 850 713 common forms of intermediary: proxy, gateway, and tunnel. A proxy is a forwarding agent, receiving requests for a URI in its 851 714 absolute form, rewriting all or part of the message, and forwarding the reformatted request toward the server identified by … … 858 721 UA -----v----- A -----v----- B -----v----- C -----v----- O 859 722 <------------------------------------- response chain 860 </pre><p id="rfc.section.1. 4.p.6">The figure above shows three intermediaries (A, B, and C) between the user agent and origin server. A request or response723 </pre><p id="rfc.section.1.3.p.6">The figure above shows three intermediaries (A, B, and C) between the user agent and origin server. A request or response 861 724 message that travels the whole chain will pass through four separate connections. This distinction is important because some 862 725 HTTP communication options may apply only to the connection with the nearest, non-tunnel neighbor, only to the end-points … … 865 728 to servers other than C, at the same time that it is handling A's request. 866 729 </p> 867 <p id="rfc.section.1. 4.p.7">Any party to the communication which is not acting as a tunnel may employ an internal cache for handling requests. The effect730 <p id="rfc.section.1.3.p.7">Any party to the communication which is not acting as a tunnel may employ an internal cache for handling requests. The effect 868 731 of a cache is that the request/response chain is shortened if one of the participants along the chain has a cached response 869 732 applicable to that request. The following illustrates the resulting chain if B has a cached copy of an earlier response from … … 873 736 UA -----v----- A -----v----- B - - - - - - C - - - - - - O 874 737 <--------- response chain 875 </pre><p id="rfc.section.1. 4.p.9">Not all responses are usefully cacheable, and some requests may contain modifiers which place special requirements on cache876 behavior. HTTP requirements for cache behavior and cacheable responses are defined in <a href="p6-cache.html#caching" title="Introduction">Section 1</a> of <a href="#Part6" id="rfc.xref.Part6. 2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>.877 </p> 878 <p id="rfc.section.1. 4.p.10">In fact, there are a wide variety of architectures and configurations of caches and proxies currently being experimented with738 </pre><p id="rfc.section.1.3.p.9">Not all responses are usefully cacheable, and some requests may contain modifiers which place special requirements on cache 739 behavior. HTTP requirements for cache behavior and cacheable responses are defined in <a href="p6-cache.html#caching" title="Introduction">Section 1</a> of <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>. 740 </p> 741 <p id="rfc.section.1.3.p.10">In fact, there are a wide variety of architectures and configurations of caches and proxies currently being experimented with 879 742 or deployed across the World Wide Web. These systems include national hierarchies of proxy caches to save transoceanic bandwidth, 880 743 systems that broadcast or multicast cache entries, organizations that distribute subsets of cached data via CD-ROM, and so … … 884 747 failing that, at least reliable indications of failure. 885 748 </p> 886 <p id="rfc.section.1. 4.p.11">HTTP communication usually takes place over TCP/IP connections. The default port is TCP 80 (<<a href="http://www.iana.org/assignments/port-numbers">http://www.iana.org/assignments/port-numbers</a>>), but other ports can be used. This does not preclude HTTP from being implemented on top of any other protocol on the Internet,749 <p id="rfc.section.1.3.p.11">HTTP communication usually takes place over TCP/IP connections. The default port is TCP 80 (<<a href="http://www.iana.org/assignments/port-numbers">http://www.iana.org/assignments/port-numbers</a>>), but other ports can be used. This does not preclude HTTP from being implemented on top of any other protocol on the Internet, 887 750 or on other networks. HTTP only presumes a reliable transport; any protocol that provides such guarantees can be used; the 888 751 mapping of the HTTP/1.1 request and response structures onto the transport data units of the protocol in question is outside 889 752 the scope of this specification. 890 753 </p> 891 <p id="rfc.section.1. 4.p.12">In HTTP/1.0, most implementations used a new connection for each request/response exchange. In HTTP/1.1, a connection may754 <p id="rfc.section.1.3.p.12">In HTTP/1.0, most implementations used a new connection for each request/response exchange. In HTTP/1.1, a connection may 892 755 be used for one or more request/response exchanges, although connections may be closed for a variety of reasons (see <a href="#persistent.connections" title="Persistent Connections">Section 7.1</a>). 893 756 </p> … … 909 772 least one; and "1#2element" allows one or two. 910 773 </p> 911 <div id="rfc.iref.i. 2"></div>774 <div id="rfc.iref.i.1"></div> 912 775 <h3 id="rfc.section.2.1.2"><a href="#rfc.section.2.1.2">2.1.2</a> <a id="implied.LWS" href="#implied.LWS">implied *LWS</a></h3> 913 776 <p id="rfc.section.2.1.2.p.1">The grammar described by this specification is word-based. Except where noted otherwise, linear white space (LWS) can be included … … 922 785 </p> 923 786 </div> 924 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g. 2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> <a href="#core.rules" class="smpl">OCTET</a> = %x00-FF787 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span> <a href="#core.rules" class="smpl">OCTET</a> = %x00-FF 925 788 ; any 8-bit sequence of data 926 789 <a href="#core.rules" class="smpl">CHAR</a> = %x01-7F … … 944 807 </pre><div id="rule.CRLF"> 945 808 <p id="rfc.section.2.2.p.3"> HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all protocol elements except the entity-body (see <a href="#tolerant.applications" title="Tolerant Applications">Appendix A</a> for tolerant applications). The end-of-line marker within an entity-body is defined by its associated media type, as described 946 in <a href="p3-payload.html#media.types" title="Media Types">Section 3.3</a> of <a href="#Part3" id="rfc.xref.Part3. 5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>.809 in <a href="p3-payload.html#media.types" title="Media Types">Section 3.3</a> of <a href="#Part3" id="rfc.xref.Part3.2"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 947 810 </p> 948 811 </div> 949 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.1 2"></span> <a href="#rule.CRLF" class="smpl">CRLF</a> = <a href="#core.rules" class="smpl">CR</a> LF812 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.11"></span> <a href="#rule.CRLF" class="smpl">CRLF</a> = <a href="#core.rules" class="smpl">CR</a> LF 950 813 </pre><div id="rule.LWS"> 951 814 <p id="rfc.section.2.2.p.5"> HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal … … 953 816 </p> 954 817 </div> 955 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.1 3"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> )818 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.12"></span> <a href="#rule.LWS" class="smpl">LWS</a> = [<a href="#rule.CRLF" class="smpl">CRLF</a>] 1*( <a href="#core.rules" class="smpl">SP</a> / <a href="#core.rules" class="smpl">HTAB</a> ) 956 819 </pre><div id="rule.TEXT"> 957 820 <p id="rfc.section.2.2.p.7"> The TEXT rule is only used for descriptive field contents and values that are not intended to be interpreted by the message … … 959 822 </p> 960 823 </div> 961 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.1 4"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a>824 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#rule.TEXT" class="smpl">TEXT</a> = %x20-7E / %x80-FF / <a href="#rule.LWS" class="smpl">LWS</a> 962 825 ; any <a href="#core.rules" class="smpl">OCTET</a> except <a href="#core.rules" class="smpl">CTL</a>s, but including <a href="#rule.LWS" class="smpl">LWS</a> 963 826 </pre><p id="rfc.section.2.2.p.9">A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS … … 967 830 <p id="rfc.section.2.2.p.10"> Hexadecimal numeric characters are used in several protocol elements.</p> 968 831 </div> 969 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.1 5"></span> <a href="#rule.HEXDIG" class="smpl">HEXDIG</a> = "A" / "B" / "C" / "D" / "E" / "F"832 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#rule.HEXDIG" class="smpl">HEXDIG</a> = "A" / "B" / "C" / "D" / "E" / "F" 970 833 / "a" / "b" / "c" / "d" / "e" / "f" / <a href="#core.rules" class="smpl">DIGIT</a> 971 834 </pre><div id="rule.token.separators"> … … 973 836 </p> 974 837 </div> 975 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.1 6"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" / ")" / "<" / ">" / "@"838 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> <a href="#rule.token.separators" class="smpl">separators</a> = "(" / ")" / "<" / ">" / "@" 976 839 / "," / ";" / ":" / "\" / <a href="#core.rules" class="smpl">DQUOTE</a> 977 840 / "/" / "[" / "]" / "?" / "=" … … 990 853 </p> 991 854 </div> 992 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.1 9"></span><span id="rfc.iref.g.20"></span> <a href="#rule.comment" class="smpl">comment</a> = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")"855 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span> <a href="#rule.comment" class="smpl">comment</a> = "(" *( <a href="#rule.comment" class="smpl">ctext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> / <a href="#rule.comment" class="smpl">comment</a> ) ")" 993 856 <a href="#rule.comment" class="smpl">ctext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding "(" and ")"> 994 857 </pre><div id="rule.quoted-string"> 995 858 <p id="rfc.section.2.2.p.16"> A string of text is parsed as a single word if it is quoted using double-quote marks.</p> 996 859 </div> 997 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.2 1"></span><span id="rfc.iref.g.22"></span> <a href="#rule.quoted-string" class="smpl">quoted-string</a> = ( <a href="#core.rules" class="smpl">DQUOTE</a> *(<a href="#rule.quoted-string" class="smpl">qdtext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a> )860 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span> <a href="#rule.quoted-string" class="smpl">quoted-string</a> = ( <a href="#core.rules" class="smpl">DQUOTE</a> *(<a href="#rule.quoted-string" class="smpl">qdtext</a> / <a href="#rule.quoted-pair" class="smpl">quoted-pair</a> ) <a href="#core.rules" class="smpl">DQUOTE</a> ) 998 861 <a href="#rule.quoted-string" class="smpl">qdtext</a> = <any <a href="#rule.TEXT" class="smpl">TEXT</a> excluding <a href="#core.rules" class="smpl">DQUOTE</a> and "\"> 999 862 </pre><div id="rule.quoted-pair"> … … 1001 864 </p> 1002 865 </div> 1003 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.2 3"></span><span id="rfc.iref.g.24"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 /866 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#rule.quoted-pair" class="smpl">quoted-text</a> = %x01-09 / 1004 867 %x0B-0C / 1005 868 %x0E-FF ; Characters excluding NUL, <a href="#core.rules" class="smpl">CR</a> and <a href="#core.rules" class="smpl">LF</a> … … 1009 872 <div id="rfc.figure.u.15"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">request-header</a> = <request-header, defined in <a href="#Part2" id="rfc.xref.Part2.1"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a>> 1010 873 <a href="#abnf.dependencies" class="smpl">response-header</a> = <response-header, defined in <a href="#Part2" id="rfc.xref.Part2.2"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a>> 1011 </pre><div id="rfc.figure.u.16"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">accept-params</a> = <accept-params, defined in <a href="#Part3" id="rfc.xref.Part3. 6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>>1012 <a href="#abnf.dependencies" class="smpl">entity-body</a> = <entity-body, defined in <a href="#Part3" id="rfc.xref.Part3. 7"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.body" title="Entity Body">Section 4.2</a>>1013 <a href="#abnf.dependencies" class="smpl">entity-header</a> = <entity-header, defined in <a href="#Part3" id="rfc.xref.Part3. 8"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>>1014 </pre><div id="rfc.figure.u.17"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Cache-Control</a> = <Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6. 3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>>1015 <a href="#abnf.dependencies" class="smpl">Pragma</a> = <Pragma, defined in <a href="#Part6" id="rfc.xref.Part6. 4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>>1016 <a href="#abnf.dependencies" class="smpl">Warning</a> = <Warning, defined in <a href="#Part6" id="rfc.xref.Part6. 5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a>>874 </pre><div id="rfc.figure.u.16"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">accept-params</a> = <accept-params, defined in <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 6.1</a>> 875 <a href="#abnf.dependencies" class="smpl">entity-body</a> = <entity-body, defined in <a href="#Part3" id="rfc.xref.Part3.4"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.body" title="Entity Body">Section 4.2</a>> 876 <a href="#abnf.dependencies" class="smpl">entity-header</a> = <entity-header, defined in <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>> 877 </pre><div id="rfc.figure.u.17"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Cache-Control</a> = <Cache-Control, defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>> 878 <a href="#abnf.dependencies" class="smpl">Pragma</a> = <Pragma, defined in <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>> 879 <a href="#abnf.dependencies" class="smpl">Warning</a> = <Warning, defined in <a href="#Part6" id="rfc.xref.Part6.4"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a>> 1017 880 </pre><h1 id="rfc.section.3"><a href="#rfc.section.3">3.</a> <a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1> 1018 881 <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> <a id="http.version" href="#http.version">HTTP Version</a></h2> … … 1026 889 </p> 1027 890 <p id="rfc.section.3.1.p.2">The version of an HTTP message is indicated by an HTTP-Version field in the first line of the message. HTTP-Version is case-sensitive.</p> 1028 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.2 5"></span><span id="rfc.iref.g.26"></span> <a href="#http.version" class="smpl">HTTP-Version</a> = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a>891 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span> <a href="#http.version" class="smpl">HTTP-Version</a> = <a href="#http.version" class="smpl">HTTP-Prot-Name</a> "/" 1*<a href="#core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a> 1029 892 <a href="#http.version" class="smpl">HTTP-Prot-Name</a> = %x48.54.54.50 ; "HTTP", case-sensitive 1030 893 </pre><p id="rfc.section.3.1.p.4">Note that the major and minor numbers <em class="bcp14">MUST</em> be treated as separate integers and that each <em class="bcp14">MAY</em> be incremented higher than a single digit. Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is lower than HTTP/12.3. … … 1057 920 "abs_path", "query", and "authority" from that specification: 1058 921 </p> 1059 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.2 7"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span> <a href="#general.syntax" class="smpl">absoluteURI</a> = <absoluteURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a>>922 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.26"></span><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span><span id="rfc.iref.g.32"></span> <a href="#general.syntax" class="smpl">absoluteURI</a> = <absoluteURI, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3">Section 3</a>> 1060 923 <a href="#general.syntax" class="smpl">authority</a> = <authority, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.3"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-3.2">Section 3.2</a>> 1061 924 <a href="#general.syntax" class="smpl">fragment</a> = <fragment, defined in <a href="#RFC2396" id="rfc.xref.RFC2396.4"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>, <a href="http://tools.ietf.org/html/rfc2396#section-4.1">Section 4.1</a>> … … 1075 938 <h3 id="rfc.section.3.2.2"><a href="#rfc.section.3.2.2">3.2.2</a> <a id="http.url" href="#http.url">http URL</a></h3> 1076 939 <div id="rfc.iref.h.1"></div> 1077 <div id="rfc.iref.u. 3"></div>940 <div id="rfc.iref.u.1"></div> 1078 941 <p id="rfc.section.3.2.2.p.1">The "http" scheme is used to locate network resources via the HTTP protocol. This section defines the scheme-specific syntax 1079 942 and semantics for http URLs. 1080 943 </p> 1081 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.3 4"></span> <a href="#http.url" class="smpl">http-URL</a> = "http:" "//" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ]944 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.33"></span> <a href="#http.url" class="smpl">http-URL</a> = "http:" "//" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] 1082 945 [ <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ]] 1083 946 </pre><p id="rfc.section.3.2.2.p.3">If the port is empty or not given, port 80 is assumed. The semantics are that the identified resource is located at the server … … 1085 948 </p> 1086 949 <dl class="empty"> 1087 <dd> <span id="rfc.iref.h.2"></span> <span id="rfc.iref.u. 4"></span> <b>Note:</b> the "https" scheme is defined in <a href="#RFC2818" id="rfc.xref.RFC2818.1"><cite title="HTTP Over TLS">[RFC2818]</cite></a>.950 <dd> <span id="rfc.iref.h.2"></span> <span id="rfc.iref.u.2"></span> <b>Note:</b> the "https" scheme is defined in <a href="#RFC2818" id="rfc.xref.RFC2818.1"><cite title="HTTP Over TLS">[RFC2818]</cite></a>. 1088 951 </dd> 1089 952 </dl> … … 1123 986 time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional LWS beyond that specifically included as SP in the grammar. 1124 987 </p> 1125 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.3 5"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span> <a href="#full.date" class="smpl">HTTP-date</a> = <a href="#full.date" class="smpl">rfc1123-date</a> / <a href="#full.date" class="smpl">obsolete-date</a>988 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span> <a href="#full.date" class="smpl">HTTP-date</a> = <a href="#full.date" class="smpl">rfc1123-date</a> / <a href="#full.date" class="smpl">obsolete-date</a> 1126 989 <a href="#full.date" class="smpl">obsolete-date</a> = <a href="#full.date" class="smpl">rfc850-date</a> / <a href="#full.date" class="smpl">asctime-date</a> 1127 990 <a href="#full.date" class="smpl">rfc1123-date</a> = <a href="#full.date" class="smpl">wkday</a> "," <a href="#core.rules" class="smpl">SP</a> date1 <a href="#core.rules" class="smpl">SP</a> time <a href="#core.rules" class="smpl">SP</a> GMT … … 1182 1045 is a property of the message, not of the original entity. 1183 1046 </p> 1184 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.4 7"></span><span id="rfc.iref.g.48"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a>1047 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span> <a href="#transfer.codings" class="smpl">transfer-coding</a> = "chunked" / <a href="#transfer.codings" class="smpl">transfer-extension</a> 1185 1048 <a href="#transfer.codings" class="smpl">transfer-extension</a> = <a href="#rule.token.separators" class="smpl">token</a> *( ";" <a href="#transfer.codings" class="smpl">parameter</a> ) 1186 1049 </pre><div id="rule.parameter"> 1187 1050 <p id="rfc.section.3.4.p.3"> Parameters are in the form of attribute/value pairs.</p> 1188 1051 </div> 1189 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.4 9"></span><span id="rfc.iref.g.50"></span><span id="rfc.iref.g.51"></span> <a href="#transfer.codings" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>1052 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span> <a href="#transfer.codings" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a> 1190 1053 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#rule.token.separators" class="smpl">token</a> 1191 1054 <a href="#rule.parameter" class="smpl">value</a> = <a href="#rule.token.separators" class="smpl">token</a> / <a href="#rule.quoted-string" class="smpl">quoted-string</a> … … 1201 1064 </p> 1202 1065 <p id="rfc.section.3.4.p.8">The Internet Assigned Numbers Authority (IANA) acts as a registry for transfer-coding value tokens. Initially, the registry 1203 contains the following tokens: "chunked" (<a href="#chunked.transfer.encoding" title="Chunked Transfer Coding">Section 3.4.1</a>), "gzip", "compress", and "deflate" (<a href="p3-payload.html#content.codings" title="Content Codings">Section 3.2</a> of <a href="#Part3" id="rfc.xref.Part3. 9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>).1204 </p> 1205 <p id="rfc.section.3.4.p.9">New transfer-coding value tokens <em class="bcp14">SHOULD</em> be registered in the same way as new content-coding value tokens (<a href="p3-payload.html#content.codings" title="Content Codings">Section 3.2</a> of <a href="#Part3" id="rfc.xref.Part3. 10"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>).1066 contains the following tokens: "chunked" (<a href="#chunked.transfer.encoding" title="Chunked Transfer Coding">Section 3.4.1</a>), "gzip", "compress", and "deflate" (<a href="p3-payload.html#content.codings" title="Content Codings">Section 3.2</a> of <a href="#Part3" id="rfc.xref.Part3.6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>). 1067 </p> 1068 <p id="rfc.section.3.4.p.9">New transfer-coding value tokens <em class="bcp14">SHOULD</em> be registered in the same way as new content-coding value tokens (<a href="p3-payload.html#content.codings" title="Content Codings">Section 3.2</a> of <a href="#Part3" id="rfc.xref.Part3.7"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>). 1206 1069 </p> 1207 1070 <p id="rfc.section.3.4.p.10">A server which receives an entity-body with a transfer-coding it does not understand <em class="bcp14">SHOULD</em> return 501 (Not Implemented), and close the connection. A server <em class="bcp14">MUST NOT</em> send transfer-codings to an HTTP/1.0 client. … … 1212 1075 necessary for the recipient to verify that it has received the full message. 1213 1076 </p> 1214 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.5 2"></span><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span><span id="rfc.iref.g.60"></span> <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a> = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a>1077 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.51"></span><span id="rfc.iref.g.52"></span><span id="rfc.iref.g.53"></span><span id="rfc.iref.g.54"></span><span id="rfc.iref.g.55"></span><span id="rfc.iref.g.56"></span><span id="rfc.iref.g.57"></span><span id="rfc.iref.g.58"></span><span id="rfc.iref.g.59"></span> <a href="#chunked.transfer.encoding" class="smpl">Chunked-Body</a> = *<a href="#chunked.transfer.encoding" class="smpl">chunk</a> 1215 1078 <a href="#chunked.transfer.encoding" class="smpl">last-chunk</a> 1216 1079 <a href="#chunked.transfer.encoding" class="smpl">trailer-part</a> … … 1271 1134 space. By convention, the products are listed in order of their significance for identifying the application. 1272 1135 </p> 1273 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.6 1"></span><span id="rfc.iref.g.62"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#rule.token.separators" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]1136 <div id="rfc.figure.u.28"></div><pre class="inline"><span id="rfc.iref.g.60"></span><span id="rfc.iref.g.61"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#rule.token.separators" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>] 1274 1137 <a href="#product.tokens" class="smpl">product-version</a> = <a href="#rule.token.separators" class="smpl">token</a> 1275 1138 </pre><p id="rfc.section.3.5.p.3">Examples:</p> … … 1281 1144 <h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> <a id="message.types" href="#message.types">Message Types</a></h2> 1282 1145 <p id="rfc.section.4.1.p.1">HTTP messages consist of requests from client to server and responses from server to client.</p> 1283 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.6 3"></span> <a href="#message.types" class="smpl">HTTP-message</a> = <a href="#request" class="smpl">Request</a> / <a href="#response" class="smpl">Response</a> ; HTTP/1.1 messages1146 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.62"></span> <a href="#message.types" class="smpl">HTTP-message</a> = <a href="#request" class="smpl">Request</a> / <a href="#response" class="smpl">Response</a> ; HTTP/1.1 messages 1284 1147 </pre><p id="rfc.section.4.1.p.3">Request (<a href="#request" title="Request">Section 5</a>) and Response (<a href="#response" title="Response">Section 6</a>) messages use the generic message format of <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a> for transferring entities (the payload of the message). Both types of message consist of a start-line, zero or more header 1285 1148 fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header 1286 1149 fields, and possibly a message-body. 1287 1150 </p> 1288 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.6 4"></span><span id="rfc.iref.g.65"></span> <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a>1151 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.63"></span><span id="rfc.iref.g.64"></span> <a href="#message.types" class="smpl">generic-message</a> = <a href="#message.types" class="smpl">start-line</a> 1289 1152 *(<a href="#message.headers" class="smpl">message-header</a> <a href="#rule.CRLF" class="smpl">CRLF</a>) 1290 1153 <a href="#rule.CRLF" class="smpl">CRLF</a> … … 1298 1161 </p> 1299 1162 <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a> <a id="message.headers" href="#message.headers">Message Headers</a></h2> 1300 <p id="rfc.section.4.2.p.1">HTTP header fields, which include general-header (<a href="#general.header.fields" title="General Header Fields">Section 4.5</a>), request-header (<a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>), response-header (<a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>), and entity-header (<a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a> of <a href="#Part3" id="rfc.xref.Part3. 11"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) fields, follow the same generic format as that given in <a href="http://tools.ietf.org/html/rfc5322#section-2.1">Section 2.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.3"><cite title="Internet Message Format">[RFC5322]</cite></a>. Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive. The1163 <p id="rfc.section.4.2.p.1">HTTP header fields, which include general-header (<a href="#general.header.fields" title="General Header Fields">Section 4.5</a>), request-header (<a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a> of <a href="#Part2" id="rfc.xref.Part2.4"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>), response-header (<a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a> of <a href="#Part2" id="rfc.xref.Part2.5"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>), and entity-header (<a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a> of <a href="#Part3" id="rfc.xref.Part3.8"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) fields, follow the same generic format as that given in <a href="http://tools.ietf.org/html/rfc5322#section-2.1">Section 2.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.3"><cite title="Internet Message Format">[RFC5322]</cite></a>. Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive. The 1301 1164 field value <em class="bcp14">MAY</em> be preceded by any amount of LWS, though a single SP is preferred. Header fields can be extended over multiple lines by preceding 1302 1165 each extra line with at least one SP or HTAB. Applications ought to follow "common form", where one is known or indicated, … … 1304 1167 forms. 1305 1168 </p> 1306 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.6 6"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span><span id="rfc.iref.g.69"></span> <a href="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ]1169 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.65"></span><span id="rfc.iref.g.66"></span><span id="rfc.iref.g.67"></span><span id="rfc.iref.g.68"></span> <a href="#message.headers" class="smpl">message-header</a> = <a href="#message.headers" class="smpl">field-name</a> ":" [ <a href="#message.headers" class="smpl">field-value</a> ] 1307 1170 <a href="#message.headers" class="smpl">field-name</a> = <a href="#rule.token.separators" class="smpl">token</a> 1308 1171 <a href="#message.headers" class="smpl">field-value</a> = *( <a href="#message.headers" class="smpl">field-content</a> / <a href="#rule.LWS" class="smpl">LWS</a> ) … … 1335 1198 header field (<a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.2" title="Transfer-Encoding">Section 8.7</a>). 1336 1199 </p> 1337 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g. 70"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a>1200 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.69"></span> <a href="#message.body" class="smpl">message-body</a> = <a href="#abnf.dependencies" class="smpl">entity-body</a> 1338 1201 / <entity-body encoded as per <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a>> 1339 1202 </pre><p id="rfc.section.4.3.p.3">Transfer-Encoding <em class="bcp14">MUST</em> be used to indicate any transfer-codings applied by an application to ensure safe and proper transfer of the message. Transfer-Encoding … … 1403 1266 to the entity being transferred. These header fields apply only to the message being transmitted. 1404 1267 </p> 1405 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.7 1"></span> <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a> ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a>1268 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.70"></span> <a href="#general.header.fields" class="smpl">general-header</a> = <a href="#abnf.dependencies" class="smpl">Cache-Control</a> ; <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.cache-control" title="Cache-Control">Section 16.2</a> 1406 1269 / <a href="#header.connection" class="smpl">Connection</a> ; <a href="#header.connection" id="rfc.xref.header.connection.1" title="Connection">Section 8.1</a> 1407 1270 / <a href="#header.date" class="smpl">Date</a> ; <a href="#header.date" id="rfc.xref.header.date.1" title="Date">Section 8.3</a> 1408 / <a href="#abnf.dependencies" class="smpl">Pragma</a> ; <a href="#Part6" id="rfc.xref.Part6. 7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a>1271 / <a href="#abnf.dependencies" class="smpl">Pragma</a> ; <a href="#Part6" id="rfc.xref.Part6.6"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.pragma" title="Pragma">Section 16.4</a> 1409 1272 / <a href="#header.trailer" class="smpl">Trailer</a> ; <a href="#header.trailer" id="rfc.xref.header.trailer.2" title="Trailer">Section 8.6</a> 1410 1273 / <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> ; <a href="#header.transfer-encoding" id="rfc.xref.header.transfer-encoding.4" title="Transfer-Encoding">Section 8.7</a> 1411 1274 / <a href="#header.upgrade" class="smpl">Upgrade</a> ; <a href="#header.upgrade" id="rfc.xref.header.upgrade.1" title="Upgrade">Section 8.8</a> 1412 1275 / <a href="#header.via" class="smpl">Via</a> ; <a href="#header.via" id="rfc.xref.header.via.1" title="Via">Section 8.9</a> 1413 / <a href="#abnf.dependencies" class="smpl">Warning</a> ; <a href="#Part6" id="rfc.xref.Part6. 8"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a>1276 / <a href="#abnf.dependencies" class="smpl">Warning</a> ; <a href="#Part6" id="rfc.xref.Part6.7"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.warning" title="Warning">Section 16.6</a> 1414 1277 </pre><p id="rfc.section.4.5.p.3">General-header field names can be extended reliably only in combination with a change in the protocol version. However, new 1415 1278 or experimental header fields may be given the semantics of general header fields if all parties in the communication recognize … … 1420 1283 resource, the identifier of the resource, and the protocol version in use. 1421 1284 </p> 1422 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.7 2"></span> <a href="#request" class="smpl">Request</a> = <a href="#request-line" class="smpl">Request-Line</a> ; <a href="#request-line" title="Request-Line">Section 5.1</a>1285 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.71"></span> <a href="#request" class="smpl">Request</a> = <a href="#request-line" class="smpl">Request-Line</a> ; <a href="#request-line" title="Request-Line">Section 5.1</a> 1423 1286 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1424 1287 / <a href="#abnf.dependencies" class="smpl">request-header</a> ; <a href="#Part2" id="rfc.xref.Part2.7"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#request.header.fields" title="Request Header Fields">Section 4</a> 1425 / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3. 12"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>1288 / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a> 1426 1289 <a href="#rule.CRLF" class="smpl">CRLF</a> 1427 1290 [ <a href="#message.body" class="smpl">message-body</a> ] ; <a href="#message.body" title="Message Body">Section 4.3</a> … … 1430 1293 elements are separated by SP characters. No CR or LF is allowed except in the final CRLF sequence. 1431 1294 </p> 1432 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.7 3"></span> <a href="#request-line" class="smpl">Request-Line</a> = <a href="#method" class="smpl">Method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-uri" class="smpl">Request-URI</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#rule.CRLF" class="smpl">CRLF</a>1295 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.72"></span> <a href="#request-line" class="smpl">Request-Line</a> = <a href="#method" class="smpl">Method</a> <a href="#core.rules" class="smpl">SP</a> <a href="#request-uri" class="smpl">Request-URI</a> <a href="#core.rules" class="smpl">SP</a> <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#rule.CRLF" class="smpl">CRLF</a> 1433 1296 </pre><h3 id="rfc.section.5.1.1"><a href="#rfc.section.5.1.1">5.1.1</a> <a id="method" href="#method">Method</a></h3> 1434 1297 <p id="rfc.section.5.1.1.p.1">The Method token indicates the method to be performed on the resource identified by the Request-URI. The method is case-sensitive.</p> 1435 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.7 4"></span><span id="rfc.iref.g.75"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a>1298 <div id="rfc.figure.u.37"></div><pre class="inline"><span id="rfc.iref.g.73"></span><span id="rfc.iref.g.74"></span> <a href="#method" class="smpl">Method</a> = <a href="#rule.token.separators" class="smpl">token</a> 1436 1299 </pre><h3 id="rfc.section.5.1.2"><a href="#rfc.section.5.1.2">5.1.2</a> <a id="request-uri" href="#request-uri">Request-URI</a></h3> 1437 1300 <p id="rfc.section.5.1.2.p.1">The Request-URI is a Uniform Resource Identifier (<a href="#uri" title="Uniform Resource Identifiers">Section 3.2</a>) and identifies the resource upon which to apply the request. 1438 1301 </p> 1439 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.7 6"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*"1302 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.75"></span> <a href="#request-uri" class="smpl">Request-URI</a> = "*" 1440 1303 / <a href="#general.syntax" class="smpl">absoluteURI</a> 1441 1304 / ( <a href="#general.syntax" class="smpl">path-absolute</a> [ "?" <a href="#general.syntax" class="smpl">query</a> ] ) … … 1498 1361 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="response" href="#response">Response</a></h1> 1499 1362 <p id="rfc.section.6.p.1">After receiving and interpreting a request message, a server responds with an HTTP response message.</p> 1500 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.7 7"></span> <a href="#response" class="smpl">Response</a> = <a href="#status-line" class="smpl">Status-Line</a> ; <a href="#status-line" title="Status-Line">Section 6.1</a>1363 <div id="rfc.figure.u.42"></div><pre class="inline"><span id="rfc.iref.g.76"></span> <a href="#response" class="smpl">Response</a> = <a href="#status-line" class="smpl">Status-Line</a> ; <a href="#status-line" title="Status-Line">Section 6.1</a> 1501 1364 *(( <a href="#general.header.fields" class="smpl">general-header</a> ; <a href="#general.header.fields" title="General Header Fields">Section 4.5</a> 1502 1365 / <a href="#abnf.dependencies" class="smpl">response-header</a> ; <a href="#Part2" id="rfc.xref.Part2.9"><cite title="HTTP/1.1, part 2: Message Semantics">[Part2]</cite></a>, <a href="p2-semantics.html#response.header.fields" title="Response Header Fields">Section 6</a> 1503 / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.1 3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a>1366 / <a href="#abnf.dependencies" class="smpl">entity-header</a> ) <a href="#rule.CRLF" class="smpl">CRLF</a>) ; <a href="#Part3" id="rfc.xref.Part3.10"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#entity.header.fields" title="Entity Header Fields">Section 4.1</a> 1504 1367 <a href="#rule.CRLF" class="smpl">CRLF</a> 1505 1368 [ <a href="#message.body" class="smpl">message-body</a> ] ; <a href="#message.body" title="Message Body">Section 4.3</a> … … 1509 1372 CRLF sequence. 1510 1373 </p> 1511 <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.7 8"></span> <a href="#status-line" class="smpl">Status-Line</a> = <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> <a href="#rule.CRLF" class="smpl">CRLF</a>1374 <div id="rfc.figure.u.43"></div><pre class="inline"><span id="rfc.iref.g.77"></span> <a href="#status-line" class="smpl">Status-Line</a> = <a href="#http.version" class="smpl">HTTP-Version</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> <a href="#core.rules" class="smpl">SP</a> <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> <a href="#rule.CRLF" class="smpl">CRLF</a> 1512 1375 </pre><h3 id="rfc.section.6.1.1"><a href="#rfc.section.6.1.1">6.1.1</a> <a id="status.code.and.reason.phrase" href="#status.code.and.reason.phrase">Status Code and Reason Phrase</a></h3> 1513 1376 <p id="rfc.section.6.1.1.p.1">The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. These codes … … 1526 1389 <li>5xx: Server Error - The server failed to fulfill an apparently valid request</li> 1527 1390 </ul> 1528 <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.7 9"></span><span id="rfc.iref.g.80"></span><span id="rfc.iref.g.81"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a>1391 <div id="rfc.figure.u.44"></div><pre class="inline"><span id="rfc.iref.g.78"></span><span id="rfc.iref.g.79"></span><span id="rfc.iref.g.80"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 3<a href="#core.rules" class="smpl">DIGIT</a> 1529 1392 <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> = *<<a href="#rule.TEXT" class="smpl">TEXT</a>, excluding <a href="#core.rules" class="smpl">CR</a>, <a href="#core.rules" class="smpl">LF</a>> 1530 1393 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="connections" href="#connections">Connections</a></h1> … … 1711 1574 receives the entity. 1712 1575 </p> 1713 <div id="rfc.iref.c. 6"></div>1576 <div id="rfc.iref.c.1"></div> 1714 1577 <div id="rfc.iref.h.3"></div> 1715 1578 <h2 id="rfc.section.8.1"><a href="#rfc.section.8.1">8.1</a> <a id="header.connection" href="#header.connection">Connection</a></h2> … … 1717 1580 </p> 1718 1581 <p id="rfc.section.8.1.p.2">The Connection header has the following grammar:</p> 1719 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.8 2"></span><span id="rfc.iref.g.83"></span> <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>)1582 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.81"></span><span id="rfc.iref.g.82"></span> <a href="#header.connection" class="smpl">Connection</a> = "Connection" ":" 1#(<a href="#header.connection" class="smpl">connection-token</a>) 1720 1583 <a href="#header.connection" class="smpl">connection-token</a> = <a href="#rule.token.separators" class="smpl">token</a> 1721 1584 </pre><p id="rfc.section.8.1.p.4">HTTP/1.1 proxies <em class="bcp14">MUST</em> parse the Connection header field before a message is forwarded and, for each connection-token in this field, remove any header … … 1739 1602 connection-token. This protects against mistaken forwarding of such header fields by pre-HTTP/1.1 proxies. See <a href="#compatibility.with.http.1.0.persistent.connections" title="Compatibility with HTTP/1.0 Persistent Connections">Appendix C.2</a>. 1740 1603 </p> 1741 <div id="rfc.iref.c. 7"></div>1604 <div id="rfc.iref.c.2"></div> 1742 1605 <div id="rfc.iref.h.4"></div> 1743 1606 <h2 id="rfc.section.8.2"><a href="#rfc.section.8.2">8.2</a> <a id="header.content-length" href="#header.content-length">Content-Length</a></h2> … … 1745 1608 or, in the case of the HEAD method, the size of the entity-body that would have been sent had the request been a GET. 1746 1609 </p> 1747 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.8 4"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a>1610 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.83"></span> <a href="#header.content-length" class="smpl">Content-Length</a> = "Content-Length" ":" 1*<a href="#core.rules" class="smpl">DIGIT</a> 1748 1611 </pre><p id="rfc.section.8.2.p.3">An example is</p> 1749 1612 <div id="rfc.figure.u.48"></div><pre class="text"> Content-Length: 3495 … … 1756 1619 in <a href="#message.length" title="Message Length">Section 4.4</a>. 1757 1620 </p> 1758 <div id="rfc.iref.d. 2"></div>1621 <div id="rfc.iref.d.1"></div> 1759 1622 <div id="rfc.iref.h.5"></div> 1760 1623 <h2 id="rfc.section.8.3"><a href="#rfc.section.8.3">8.3</a> <a id="header.date" href="#header.date">Date</a></h2> … … 1762 1625 as orig-date in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</cite></a>. The field value is an HTTP-date, as described in <a href="#full.date" title="Full Date">Section 3.3.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 1763 1626 </p> 1764 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.8 5"></span> <a href="#header.date" class="smpl">Date</a> = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a>1627 <div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.84"></span> <a href="#header.date" class="smpl">Date</a> = "Date" ":" <a href="#full.date" class="smpl">HTTP-date</a> 1765 1628 </pre><p id="rfc.section.8.3.p.3">An example is</p> 1766 1629 <div id="rfc.figure.u.50"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT … … 1800 1663 a single IP address. 1801 1664 </p> 1802 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.8 6"></span> <a href="#header.host" class="smpl">Host</a> = "Host" ":" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ; <a href="#http.url" title="http URL">Section 3.2.2</a>1665 <div id="rfc.figure.u.51"></div><pre class="inline"><span id="rfc.iref.g.85"></span> <a href="#header.host" class="smpl">Host</a> = "Host" ":" <a href="#general.syntax" class="smpl">uri-host</a> [ ":" <a href="#general.syntax" class="smpl">port</a> ] ; <a href="#http.url" title="http URL">Section 3.2.2</a> 1803 1666 </pre><p id="rfc.section.8.4.p.3">A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP 1804 1667 URL). For example, a request on the origin server for <http://www.example.org/pub/WWW/> would properly include: … … 1812 1675 <p id="rfc.section.8.4.p.6">See Sections <a href="#the.resource.identified.by.a.request" title="The Resource Identified by a Request">5.2</a> and <a href="#changes.to.simplify.multi-homed.web.servers.and.conserve.ip.addresses" title="Changes to Simplify Multi-homed Web Servers and Conserve IP Addresses">C.1.1</a> for other requirements relating to Host. 1813 1676 </p> 1814 <div id="rfc.iref.t. 2"></div>1677 <div id="rfc.iref.t.1"></div> 1815 1678 <div id="rfc.iref.h.8"></div> 1816 1679 <h2 id="rfc.section.8.5"><a href="#rfc.section.8.5">8.5</a> <a id="header.te" href="#header.te">TE</a></h2> … … 1819 1682 and/or a comma-separated list of extension transfer-coding names with optional accept parameters (as described in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>). 1820 1683 </p> 1821 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.8 7"></span><span id="rfc.iref.g.88"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> )1684 <div id="rfc.figure.u.53"></div><pre class="inline"><span id="rfc.iref.g.86"></span><span id="rfc.iref.g.87"></span> <a href="#header.te" class="smpl">TE</a> = "TE" ":" #( <a href="#header.te" class="smpl">t-codings</a> ) 1822 1685 <a href="#header.te" class="smpl">t-codings</a> = "trailers" / ( <a href="#transfer.codings" class="smpl">transfer-extension</a> [ <a href="#abnf.dependencies" class="smpl">accept-params</a> ] ) 1823 1686 </pre><p id="rfc.section.8.5.p.3">The presence of the keyword "trailers" indicates that the client is willing to accept trailer fields in a chunked transfer-coding, … … 1844 1707 <li> 1845 1708 <p>If the transfer-coding being tested is one of the transfer-codings listed in the TE field, then it is acceptable unless it 1846 is accompanied by a qvalue of 0. (As defined in <a href="p3-payload.html#quality.values" title="Quality Values">Section 3.4</a> of <a href="#Part3" id="rfc.xref.Part3.1 4"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, a qvalue of 0 means "not acceptable.")1709 is accompanied by a qvalue of 0. (As defined in <a href="p3-payload.html#quality.values" title="Quality Values">Section 3.4</a> of <a href="#Part3" id="rfc.xref.Part3.11"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, a qvalue of 0 means "not acceptable.") 1847 1710 </p> 1848 1711 </li> … … 1856 1719 is always acceptable. 1857 1720 </p> 1858 <div id="rfc.iref.t. 3"></div>1721 <div id="rfc.iref.t.2"></div> 1859 1722 <div id="rfc.iref.h.9"></div> 1860 1723 <h2 id="rfc.section.8.6"><a href="#rfc.section.8.6">8.6</a> <a id="header.trailer" href="#header.trailer">Trailer</a></h2> … … 1862 1725 with chunked transfer-coding. 1863 1726 </p> 1864 <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.8 9"></span> <a href="#header.trailer" class="smpl">Trailer</a> = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a>1727 <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.88"></span> <a href="#header.trailer" class="smpl">Trailer</a> = "Trailer" ":" 1#<a href="#message.headers" class="smpl">field-name</a> 1865 1728 </pre><p id="rfc.section.8.6.p.3">An HTTP/1.1 message <em class="bcp14">SHOULD</em> include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient 1866 1729 to know which header fields to expect in the trailer. … … 1875 1738 <li>Trailer</li> 1876 1739 </ul> 1877 <div id="rfc.iref.t. 4"></div>1740 <div id="rfc.iref.t.3"></div> 1878 1741 <div id="rfc.iref.h.10"></div> 1879 1742 <h2 id="rfc.section.8.7"><a href="#rfc.section.8.7">8.7</a> <a id="header.transfer-encoding" href="#header.transfer-encoding">Transfer-Encoding</a></h2> … … 1882 1745 transfer-coding is a property of the message, not of the entity. 1883 1746 </p> 1884 <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g. 90"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a>1747 <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.89"></span> <a href="#header.transfer-encoding" class="smpl">Transfer-Encoding</a> = "Transfer-Encoding" ":" 1#<a href="#transfer.codings" class="smpl">transfer-coding</a> 1885 1748 </pre><p id="rfc.section.8.7.p.3">Transfer-codings are defined in <a href="#transfer.codings" title="Transfer Codings">Section 3.4</a>. An example is: 1886 1749 </p> … … 1889 1752 </p> 1890 1753 <p id="rfc.section.8.7.p.6">Many older HTTP/1.0 applications do not understand the Transfer-Encoding header.</p> 1891 <div id="rfc.iref.u. 5"></div>1754 <div id="rfc.iref.u.3"></div> 1892 1755 <div id="rfc.iref.h.11"></div> 1893 1756 <h2 id="rfc.section.8.8"><a href="#rfc.section.8.8">8.8</a> <a id="header.upgrade" href="#header.upgrade">Upgrade</a></h2> … … 1895 1758 to use if the server finds it appropriate to switch protocols. The server <em class="bcp14">MUST</em> use the Upgrade header field within a 101 (Switching Protocols) response to indicate which protocol(s) are being switched. 1896 1759 </p> 1897 <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.9 1"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a>1760 <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.90"></span> <a href="#header.upgrade" class="smpl">Upgrade</a> = "Upgrade" ":" 1#<a href="#product.tokens" class="smpl">product</a> 1898 1761 </pre><p id="rfc.section.8.8.p.3">For example,</p> 1899 1762 <div id="rfc.figure.u.59"></div><pre class="text"> Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 … … 1919 1782 the client and server associate the name with the same protocol. 1920 1783 </p> 1921 <div id="rfc.iref.v. 2"></div>1784 <div id="rfc.iref.v.1"></div> 1922 1785 <div id="rfc.iref.h.12"></div> 1923 1786 <h2 id="rfc.section.8.9"><a href="#rfc.section.8.9">8.9</a> <a id="header.via" href="#header.via">Via</a></h2> … … 1926 1789 of all senders along the request/response chain. 1927 1790 </p> 1928 <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.9 2"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span><span id="rfc.iref.g.97"></span> <a href="#header.via" class="smpl">Via</a> = "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] )1791 <div id="rfc.figure.u.60"></div><pre class="inline"><span id="rfc.iref.g.91"></span><span id="rfc.iref.g.92"></span><span id="rfc.iref.g.93"></span><span id="rfc.iref.g.94"></span><span id="rfc.iref.g.95"></span><span id="rfc.iref.g.96"></span> <a href="#header.via" class="smpl">Via</a> = "Via" ":" 1#( <a href="#header.via" class="smpl">received-protocol</a> <a href="#header.via" class="smpl">received-by</a> [ <a href="#rule.comment" class="smpl">comment</a> ] ) 1929 1792 <a href="#header.via" class="smpl">received-protocol</a> = [ <a href="#header.via" class="smpl">protocol-name</a> "/" ] <a href="#header.via" class="smpl">protocol-version</a> 1930 1793 <a href="#header.via" class="smpl">protocol-name</a> = <a href="#rule.token.separators" class="smpl">token</a> … … 2051 1914 is to be registered with IANA (see <a href="#RFC4288" id="rfc.xref.RFC4288.1"><cite title="Media Type Specifications and Registration Procedures">[RFC4288]</cite></a>). 2052 1915 </p> 1916 <div id="rfc.iref.m.1"></div> 2053 1917 <div id="rfc.iref.m.2"></div> 2054 <div id="rfc.iref.m.3"></div>2055 1918 <h3 id="rfc.section.9.3.1"><a href="#rfc.section.9.3.1">9.3.1</a> <a id="internet.media.type.message.http" href="#internet.media.type.message.http">Internet Media Type message/http</a></h3> 2056 1919 <p id="rfc.section.9.3.1.p.1">The message/http type can be used to enclose a single HTTP request or response message, provided that it obeys the MIME restrictions … … 2106 1969 <dd>IESG</dd> 2107 1970 </dl> 2108 <div id="rfc.iref.m. 4"></div>1971 <div id="rfc.iref.m.3"></div> 2109 1972 <div id="rfc.iref.a.1"></div> 2110 1973 <h3 id="rfc.section.9.3.2"><a href="#rfc.section.9.3.2">9.3.2</a> <a id="internet.media.type.application.http" href="#internet.media.type.application.http">Internet Media Type application/http</a></h3> … … 2501 2364 </p> 2502 2365 <p id="rfc.section.A.p.4">The character set of an entity-body <em class="bcp14">SHOULD</em> be labeled as the lowest common denominator of the character codes used within that body, with the exception that not labeling 2503 the entity is preferred over labeling the entity with the labels US-ASCII or ISO-8859-1. See <a href="#Part3" id="rfc.xref.Part3.1 5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>.2366 the entity is preferred over labeling the entity with the labels US-ASCII or ISO-8859-1. See <a href="#Part3" id="rfc.xref.Part3.12"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 2504 2367 </p> 2505 2368 <p id="rfc.section.A.p.5">Additional rules for requirements on parsing and encoding of dates and other potential problems with date encodings include:</p> … … 2584 2447 <p id="rfc.section.C.3.p.2">Transfer-coding and message lengths all interact in ways that required fixing exactly when chunked encoding is used (to allow 2585 2448 for transfer encoding that may not be self delimiting); it was important to straighten out exactly how message lengths are 2586 computed. (Sections <a href="#transfer.codings" title="Transfer Codings">3.4</a>, <a href="#message.length" title="Message Length">4.4</a>, <a href="#header.content-length" id="rfc.xref.header.content-length.3" title="Content-Length">8.2</a>, see also <a href="#Part3" id="rfc.xref.Part3.1 6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.9"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>)2449 computed. (Sections <a href="#transfer.codings" title="Transfer Codings">3.4</a>, <a href="#message.length" title="Message Length">4.4</a>, <a href="#header.content-length" id="rfc.xref.header.content-length.3" title="Content-Length">8.2</a>, see also <a href="#Part3" id="rfc.xref.Part3.13"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.8"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) 2587 2450 </p> 2588 2451 <p id="rfc.section.C.3.p.3">The use and interpretation of HTTP version numbers has been clarified by <a href="#RFC2145" id="rfc.xref.RFC2145.3"><cite title="Use and Interpretation of HTTP Version Numbers">[RFC2145]</cite></a>. Require proxies to upgrade requests to highest protocol version they support to deal with problems discovered in HTTP/1.0 … … 2609 2472 <p id="rfc.section.C.4.p.6">Clarify exactly when close connection options must be sent. (<a href="#header.connection" id="rfc.xref.header.connection.8" title="Connection">Section 8.1</a>) 2610 2473 </p> 2611 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 2612 <h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> Since RFC2616 2474 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="terminology" href="#terminology">Terminology</a></h1> 2475 <p id="rfc.section.D.p.1">This specification uses a number of terms to refer to the roles played by participants in, and objects of, the HTTP communication.</p> 2476 <p id="rfc.section.D.p.2"> <span id="rfc.iref.c.3"></span> <dfn>connection</dfn> 2477 </p> 2478 <dl class="empty"> 2479 <dd>A transport layer virtual circuit established between two programs for the purpose of communication.</dd> 2480 </dl> 2481 <p id="rfc.section.D.p.3"> <span id="rfc.iref.m.4"></span> <dfn>message</dfn> 2482 </p> 2483 <dl class="empty"> 2484 <dd>The basic unit of HTTP communication, consisting of a structured sequence of octets matching the syntax defined in <a href="#http.message" title="HTTP Message">Section 4</a> and transmitted via the connection. 2485 </dd> 2486 </dl> 2487 <p id="rfc.section.D.p.4"> <span id="rfc.iref.r.1"></span> <dfn>request</dfn> 2488 </p> 2489 <dl class="empty"> 2490 <dd>An HTTP request message, as defined in <a href="#request" title="Request">Section 5</a>. 2491 </dd> 2492 </dl> 2493 <p id="rfc.section.D.p.5"> <span id="rfc.iref.r.2"></span> <dfn>response</dfn> 2494 </p> 2495 <dl class="empty"> 2496 <dd>An HTTP response message, as defined in <a href="#response" title="Response">Section 6</a>. 2497 </dd> 2498 </dl> 2499 <p id="rfc.section.D.p.6"> <span id="rfc.iref.r.3"></span> <dfn>resource</dfn> 2500 </p> 2501 <dl class="empty"> 2502 <dd>A network data object or service that can be identified by a URI, as defined in <a href="#uri" title="Uniform Resource Identifiers">Section 3.2</a>. Resources may be available in multiple representations (e.g. multiple languages, data formats, size, and resolutions) or 2503 vary in other ways. 2504 </dd> 2505 </dl> 2506 <p id="rfc.section.D.p.7"> <span id="rfc.iref.e.1"></span> <dfn>entity</dfn> 2507 </p> 2508 <dl class="empty"> 2509 <dd>The information transferred as the payload of a request or response. An entity consists of metainformation in the form of 2510 entity-header fields and content in the form of an entity-body, as described in <a href="p3-payload.html#entity" title="Entity">Section 4</a> of <a href="#Part3" id="rfc.xref.Part3.14"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 2511 </dd> 2512 </dl> 2513 <p id="rfc.section.D.p.8"> <span id="rfc.iref.r.4"></span> <dfn>representation</dfn> 2514 </p> 2515 <dl class="empty"> 2516 <dd>An entity included with a response that is subject to content negotiation, as described in <a href="p3-payload.html#content.negotiation" title="Content Negotiation">Section 5</a> of <a href="#Part3" id="rfc.xref.Part3.15"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. There may exist multiple representations associated with a particular response status. 2517 </dd> 2518 </dl> 2519 <p id="rfc.section.D.p.9"> <span id="rfc.iref.c.4"></span> <dfn>content negotiation</dfn> 2520 </p> 2521 <dl class="empty"> 2522 <dd>The mechanism for selecting the appropriate representation when servicing a request, as described in <a href="p3-payload.html#content.negotiation" title="Content Negotiation">Section 5</a> of <a href="#Part3" id="rfc.xref.Part3.16"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. The representation of entities in any response can be negotiated (including error responses). 2523 </dd> 2524 </dl> 2525 <p id="rfc.section.D.p.10"> <span id="rfc.iref.v.2"></span> <dfn>variant</dfn> 2526 </p> 2527 <dl class="empty"> 2528 <dd>A resource may have one, or more than one, representation(s) associated with it at any given instant. Each of these representations 2529 is termed a `variant'. Use of the term `variant' does not necessarily imply that the resource is subject to content negotiation. 2530 </dd> 2531 </dl> 2532 <p id="rfc.section.D.p.11"> <span id="rfc.iref.c.5"></span> <dfn>client</dfn> 2533 </p> 2534 <dl class="empty"> 2535 <dd>A program that establishes connections for the purpose of sending requests.</dd> 2536 </dl> 2537 <p id="rfc.section.D.p.12"> <span id="rfc.iref.u.4"></span> <dfn>user agent</dfn> 2538 </p> 2539 <dl class="empty"> 2540 <dd>The client which initiates a request. These are often browsers, editors, spiders (web-traversing robots), or other end user 2541 tools. 2542 </dd> 2543 </dl> 2544 <p id="rfc.section.D.p.13"> <span id="rfc.iref.s.1"></span> <dfn>server</dfn> 2545 </p> 2546 <dl class="empty"> 2547 <dd>An application program that accepts connections in order to service requests by sending back responses. Any given program 2548 may be capable of being both a client and a server; our use of these terms refers only to the role being performed by the 2549 program for a particular connection, rather than to the program's capabilities in general. Likewise, any server may act as 2550 an origin server, proxy, gateway, or tunnel, switching behavior based on the nature of each request. 2551 </dd> 2552 </dl> 2553 <p id="rfc.section.D.p.14"> <span id="rfc.iref.o.1"></span> <dfn>origin server</dfn> 2554 </p> 2555 <dl class="empty"> 2556 <dd>The server on which a given resource resides or is to be created.</dd> 2557 </dl> 2558 <p id="rfc.section.D.p.15"> <span id="rfc.iref.p.1"></span> <dfn>proxy</dfn> 2559 </p> 2560 <dl class="empty"> 2561 <dd>An intermediary program which acts as both a server and a client for the purpose of making requests on behalf of other clients. 2562 Requests are serviced internally or by passing them on, with possible translation, to other servers. A proxy <em class="bcp14">MUST</em> implement both the client and server requirements of this specification. A "transparent proxy" is a proxy that does not modify 2563 the request or response beyond what is required for proxy authentication and identification. A "non-transparent proxy" is 2564 a proxy that modifies the request or response in order to provide some added service to the user agent, such as group annotation 2565 services, media type transformation, protocol reduction, or anonymity filtering. Except where either transparent or non-transparent 2566 behavior is explicitly stated, the HTTP proxy requirements apply to both types of proxies. 2567 </dd> 2568 </dl> 2569 <p id="rfc.section.D.p.16"> <span id="rfc.iref.g.97"></span> <dfn>gateway</dfn> 2570 </p> 2571 <dl class="empty"> 2572 <dd>A server which acts as an intermediary for some other server. Unlike a proxy, a gateway receives requests as if it were the 2573 origin server for the requested resource; the requesting client may not be aware that it is communicating with a gateway. 2574 </dd> 2575 </dl> 2576 <p id="rfc.section.D.p.17"> <span id="rfc.iref.t.4"></span> <dfn>tunnel</dfn> 2577 </p> 2578 <dl class="empty"> 2579 <dd>An intermediary program which is acting as a blind relay between two connections. Once active, a tunnel is not considered 2580 a party to the HTTP communication, though the tunnel may have been initiated by an HTTP request. The tunnel ceases to exist 2581 when both ends of the relayed connections are closed. 2582 </dd> 2583 </dl> 2584 <p id="rfc.section.D.p.18"> <span id="rfc.iref.c.6"></span> <dfn>cache</dfn> 2585 </p> 2586 <dl class="empty"> 2587 <dd>A program's local store of response messages and the subsystem that controls its message storage, retrieval, and deletion. 2588 A cache stores cacheable responses in order to reduce the response time and network bandwidth consumption on future, equivalent 2589 requests. Any client or server may include a cache, though a cache cannot be used by a server that is acting as a tunnel. 2590 </dd> 2591 </dl> 2592 <p id="rfc.section.D.p.19"> <span id="rfc.iref.c.7"></span> <dfn>cacheable</dfn> 2593 </p> 2594 <dl class="empty"> 2595 <dd>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests. 2596 The rules for determining the cacheability of HTTP responses are defined in <a href="p6-cache.html#caching" title="Introduction">Section 1</a> of <a href="#Part6" id="rfc.xref.Part6.9"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>. Even if a resource is cacheable, there may be additional constraints on whether a cache can use the cached copy for a particular 2597 request. 2598 </dd> 2599 </dl> 2600 <p id="rfc.section.D.p.20"> <span id="rfc.iref.u.5"></span> <span id="rfc.iref.d.2"></span> <dfn>upstream</dfn>/<dfn>downstream</dfn> 2601 </p> 2602 <dl class="empty"> 2603 <dd>Upstream and downstream describe the flow of a message: all messages flow from upstream to downstream.</dd> 2604 </dl> 2605 <p id="rfc.section.D.p.21"> <span id="rfc.iref.i.2"></span> <span id="rfc.iref.o.2"></span> <dfn>inbound</dfn>/<dfn>outbound</dfn> 2606 </p> 2607 <dl class="empty"> 2608 <dd>Inbound and outbound refer to the request and response paths for messages: "inbound" means "traveling toward the origin server", 2609 and "outbound" means "traveling toward the user agent" 2610 </dd> 2611 </dl> 2612 <h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 2613 <h2 id="rfc.section.E.1"><a href="#rfc.section.E.1">E.1</a> Since RFC2616 2613 2614 </h2> 2614 <p id="rfc.section. D.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.4"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>.2615 </p> 2616 <h2 id="rfc.section. D.2"><a href="#rfc.section.D.2">D.2</a> Since draft-ietf-httpbis-p1-messaging-002615 <p id="rfc.section.E.1.p.1">Extracted relevant partitions from <a href="#RFC2616" id="rfc.xref.RFC2616.4"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>. 2616 </p> 2617 <h2 id="rfc.section.E.2"><a href="#rfc.section.E.2">E.2</a> Since draft-ietf-httpbis-p1-messaging-00 2617 2618 </h2> 2618 <p id="rfc.section. D.2.p.1">Closed issues: </p>2619 <p id="rfc.section.E.2.p.1">Closed issues: </p> 2619 2620 <ul> 2620 2621 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/1">http://tools.ietf.org/wg/httpbis/trac/ticket/1</a>>: "HTTP Version should be case sensitive" (<<a href="http://purl.org/NET/http-errata#verscase">http://purl.org/NET/http-errata#verscase</a>>) … … 2657 2658 </li> 2658 2659 </ul> 2659 <p id="rfc.section. D.2.p.2">Other changes: </p>2660 <p id="rfc.section.E.2.p.2">Other changes: </p> 2660 2661 <ul> 2661 2662 <li>Update media type registrations to use RFC4288 template.</li> … … 2663 2664 </li> 2664 2665 </ul> 2665 <h2 id="rfc.section. D.3"><a href="#rfc.section.D.3">D.3</a> Since draft-ietf-httpbis-p1-messaging-012666 <h2 id="rfc.section.E.3"><a href="#rfc.section.E.3">E.3</a> Since draft-ietf-httpbis-p1-messaging-01 2666 2667 </h2> 2667 <p id="rfc.section. D.3.p.1">Closed issues: </p>2668 <p id="rfc.section.E.3.p.1">Closed issues: </p> 2668 2669 <ul> 2669 2670 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/19">http://tools.ietf.org/wg/httpbis/trac/ticket/19</a>>: "Bodies on GET (and other) requests" … … 2676 2677 </li> 2677 2678 </ul> 2678 <p id="rfc.section. D.3.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):2679 <p id="rfc.section.E.3.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2679 2680 </p> 2680 2681 <ul> … … 2691 2692 <li>Rewrite prose rule "token" in terms of "tchar", rewrite prose rule "TEXT".</li> 2692 2693 </ul> 2693 <h2 id="rfc.section. D.4"><a href="#rfc.section.D.4">D.4</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></h2>2694 <p id="rfc.section. D.4.p.1">Closed issues: </p>2694 <h2 id="rfc.section.E.4"><a href="#rfc.section.E.4">E.4</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-p1-messaging-02</a></h2> 2695 <p id="rfc.section.E.4.p.1">Closed issues: </p> 2695 2696 <ul> 2696 2697 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/51">http://tools.ietf.org/wg/httpbis/trac/ticket/51</a>>: "HTTP-date vs. rfc1123-date" … … 2699 2700 </li> 2700 2701 </ul> 2701 <p id="rfc.section. D.4.p.2">Ongoing work on IANA Message Header Registration (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/40">http://tools.ietf.org/wg/httpbis/trac/ticket/40</a>>):2702 <p id="rfc.section.E.4.p.2">Ongoing work on IANA Message Header Registration (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/40">http://tools.ietf.org/wg/httpbis/trac/ticket/40</a>>): 2702 2703 </p> 2703 2704 <ul> 2704 2705 <li>Reference RFC 3984, and update header registrations for headers defined in this document.</li> 2705 2706 </ul> 2706 <p id="rfc.section. D.4.p.3">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):2707 <p id="rfc.section.E.4.p.3">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2707 2708 </p> 2708 2709 <ul> 2709 2710 <li>Replace string literals when the string really is case-sensitive (HTTP-Version).</li> 2710 2711 </ul> 2711 <h2 id="rfc.section. D.5"><a href="#rfc.section.D.5">D.5</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></h2>2712 <p id="rfc.section. D.5.p.1">Closed issues: </p>2712 <h2 id="rfc.section.E.5"><a href="#rfc.section.E.5">E.5</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p1-messaging-03</a></h2> 2713 <p id="rfc.section.E.5.p.1">Closed issues: </p> 2713 2714 <ul> 2714 2715 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/28">http://tools.ietf.org/wg/httpbis/trac/ticket/28</a>>: "Connection closing" … … 2725 2726 </li> 2726 2727 </ul> 2727 <p id="rfc.section. D.5.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):2728 <p id="rfc.section.E.5.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2728 2729 </p> 2729 2730 <ul> … … 2731 2732 <li>Replace HEX by HEXDIG for future consistence with RFC 5234's core rules.</li> 2732 2733 </ul> 2733 <h2 id="rfc.section. D.6"><a href="#rfc.section.D.6">D.6</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></h2>2734 <p id="rfc.section. D.6.p.1">Closed issues: </p>2734 <h2 id="rfc.section.E.6"><a href="#rfc.section.E.6">E.6</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p1-messaging-04</a></h2> 2735 <p id="rfc.section.E.6.p.1">Closed issues: </p> 2735 2736 <ul> 2736 2737 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/132">http://tools.ietf.org/wg/httpbis/trac/ticket/132</a>>: "RFC 2822 is updated by RFC 5322" 2737 2738 </li> 2738 2739 </ul> 2739 <p id="rfc.section. D.6.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>):2740 <p id="rfc.section.E.6.p.2">Ongoing work on ABNF conversion (<<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>): 2740 2741 </p> 2741 2742 <ul> … … 2777 2778 </li> 2778 2779 <li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind"> 2779 <li class="indline1">cache <a class="iref" href="#rfc.iref.c. 4">1.3</a></li>2780 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c. 5">1.3</a></li>2781 <li class="indline1">client <a class="iref" href="#rfc.iref.c. 3">1.3</a></li>2782 <li class="indline1">connection <a class="iref" href="#rfc.iref.c. 1">1.3</a></li>2783 <li class="indline1">Connection header <a class="iref" href="#rfc.xref.header.connection.1">4.5</a>, <a class="iref" href="#rfc.xref.header.connection.2">7.1.2</a>, <a class="iref" href="#rfc.xref.header.connection.3">7.1.3</a>, <a class="iref" href="#rfc.iref.c. 6"><b>8.1</b></a>, <a class="iref" href="#rfc.xref.header.connection.4">8.5</a>, <a class="iref" href="#rfc.xref.header.connection.5">8.8</a>, <a class="iref" href="#rfc.xref.header.connection.6">9.1</a>, <a class="iref" href="#rfc.xref.header.connection.7">C.2</a>, <a class="iref" href="#rfc.xref.header.connection.8">C.4</a></li>2784 <li class="indline1">content negotiation <a class="iref" href="#rfc.iref.c. 2">1.3</a></li>2785 <li class="indline1">Content-Length header <a class="iref" href="#rfc.xref.header.content-length.1">4.4</a>, <a class="iref" href="#rfc.iref.c. 7"><b>8.2</b></a>, <a class="iref" href="#rfc.xref.header.content-length.2">9.1</a>, <a class="iref" href="#rfc.xref.header.content-length.3">C.3</a></li>2780 <li class="indline1">cache <a class="iref" href="#rfc.iref.c.6">D</a></li> 2781 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c.7">D</a></li> 2782 <li class="indline1">client <a class="iref" href="#rfc.iref.c.5">D</a></li> 2783 <li class="indline1">connection <a class="iref" href="#rfc.iref.c.3">D</a></li> 2784 <li class="indline1">Connection header <a class="iref" href="#rfc.xref.header.connection.1">4.5</a>, <a class="iref" href="#rfc.xref.header.connection.2">7.1.2</a>, <a class="iref" href="#rfc.xref.header.connection.3">7.1.3</a>, <a class="iref" href="#rfc.iref.c.1"><b>8.1</b></a>, <a class="iref" href="#rfc.xref.header.connection.4">8.5</a>, <a class="iref" href="#rfc.xref.header.connection.5">8.8</a>, <a class="iref" href="#rfc.xref.header.connection.6">9.1</a>, <a class="iref" href="#rfc.xref.header.connection.7">C.2</a>, <a class="iref" href="#rfc.xref.header.connection.8">C.4</a></li> 2785 <li class="indline1">content negotiation <a class="iref" href="#rfc.iref.c.4">D</a></li> 2786 <li class="indline1">Content-Length header <a class="iref" href="#rfc.xref.header.content-length.1">4.4</a>, <a class="iref" href="#rfc.iref.c.2"><b>8.2</b></a>, <a class="iref" href="#rfc.xref.header.content-length.2">9.1</a>, <a class="iref" href="#rfc.xref.header.content-length.3">C.3</a></li> 2786 2787 </ul> 2787 2788 </li> 2788 2789 <li class="indline0"><a id="rfc.index.D" href="#rfc.index.D"><b>D</b></a><ul class="ind"> 2789 <li class="indline1">Date header <a class="iref" href="#rfc.xref.header.date.1">4.5</a>, <a class="iref" href="#rfc.iref.d. 2"><b>8.3</b></a>, <a class="iref" href="#rfc.xref.header.date.2">9.1</a></li>2790 <li class="indline1">downstream <a class="iref" href="#rfc.iref.d. 1">1.3</a></li>2790 <li class="indline1">Date header <a class="iref" href="#rfc.xref.header.date.1">4.5</a>, <a class="iref" href="#rfc.iref.d.1"><b>8.3</b></a>, <a class="iref" href="#rfc.xref.header.date.2">9.1</a></li> 2791 <li class="indline1">downstream <a class="iref" href="#rfc.iref.d.2">D</a></li> 2791 2792 </ul> 2792 2793 </li> 2793 2794 <li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind"> 2794 <li class="indline1">entity <a class="iref" href="#rfc.iref.e.1"> 1.3</a></li>2795 <li class="indline1">entity <a class="iref" href="#rfc.iref.e.1">D</a></li> 2795 2796 </ul> 2796 2797 </li> 2797 2798 <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind"> 2798 <li class="indline1">gateway <a class="iref" href="#rfc.iref.g. 1">1.3</a></li>2799 <li class="indline1">gateway <a class="iref" href="#rfc.iref.g.97">D</a></li> 2799 2800 <li class="indline1"><tt>Grammar</tt> 2800 2801 <ul class="ind"> 2801 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.2 7"><b>3.2.1</b></a></li>2802 <li class="indline1"><tt>ALPHA</tt> <a class="iref" href="#rfc.iref.g. 4"><b>2.2</b></a></li>2803 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.3 9"><b>3.3.1</b></a></li>2804 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g. 50"><b>3.4</b></a></li>2805 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.2 8"><b>3.2.1</b></a></li>2806 <li class="indline1"><tt>CHAR</tt> <a class="iref" href="#rfc.iref.g. 3"><b>2.2</b></a></li>2807 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.5 3"><b>3.4.1</b></a></li>2808 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.5 9"><b>3.4.1</b></a></li>2809 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.5 7"><b>3.4.1</b></a></li>2810 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.5 8"><b>3.4.1</b></a></li>2811 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.5 6"><b>3.4.1</b></a></li>2812 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.5 4"><b>3.4.1</b></a></li>2813 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.5 2"><b>3.4.1</b></a></li>2814 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.1 9"><b>2.2</b></a></li>2815 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.8 2"><b>8.1</b></a></li>2816 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.8 3"><b>8.1</b></a></li>2817 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.8 4"><b>8.2</b></a></li>2818 <li class="indline1"><tt>CR</tt> <a class="iref" href="#rfc.iref.g. 7"><b>2.2</b></a></li>2819 <li class="indline1"><tt>CRLF</tt> <a class="iref" href="#rfc.iref.g.1 2"><b>2.2</b></a></li>2820 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g. 20"><b>2.2</b></a></li>2821 <li class="indline1"><tt>CTL</tt> <a class="iref" href="#rfc.iref.g. 6"><b>2.2</b></a></li>2822 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.8 5"><b>8.3</b></a></li>2823 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g. 40"><b>3.3.1</b></a></li>2824 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.4 1"><b>3.3.1</b></a></li>2825 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.4 2"><b>3.3.1</b></a></li>2826 <li class="indline1"><tt>DIGIT</tt> <a class="iref" href="#rfc.iref.g. 5"><b>2.2</b></a></li>2827 <li class="indline1"><tt>DQUOTE</tt> <a class="iref" href="#rfc.iref.g.1 1"><b>2.2</b></a></li>2828 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g. 80"><b>6.1.1</b></a></li>2829 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.7 5"><b>5.1.1</b></a></li>2830 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.6 9"><b>4.2</b></a></li>2831 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.6 7"><b>4.2</b></a></li>2832 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.6 8"><b>4.2</b></a></li>2833 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.7 1"><b>4.5</b></a></li>2834 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.6 4"><b>4.1</b></a></li>2835 <li class="indline1"><tt>HEXDIG</tt> <a class="iref" href="#rfc.iref.g.1 5"><b>2.2</b></a></li>2836 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.8 6"><b>8.4</b></a></li>2837 <li class="indline1"><tt>HTAB</tt> <a class="iref" href="#rfc.iref.g. 10"><b>2.2</b></a></li>2838 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.3 5"><b>3.3.1</b></a></li>2839 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.6 3"><b>4.1</b></a></li>2840 <li class="indline1"><tt>HTTP-Prot-Name</tt> <a class="iref" href="#rfc.iref.g.2 6"><b>3.1</b></a></li>2841 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.3 4"><b>3.2.2</b></a></li>2842 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.2 5"><b>3.1</b></a></li>2843 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.5 5"><b>3.4.1</b></a></li>2844 <li class="indline1"><tt>LF</tt> <a class="iref" href="#rfc.iref.g. 8"><b>2.2</b></a></li>2845 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.1 3"><b>2.2</b></a></li>2846 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g. 70"><b>4.3</b></a></li>2847 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.6 6"><b>4.2</b></a></li>2848 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.7 4"><b>5.1.1</b></a></li>2849 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.4 6"><b>3.3.1</b></a></li>2850 <li class="indline1"><tt>obsolete-date</tt> <a class="iref" href="#rfc.iref.g.3 7"><b>3.3.1</b></a></li>2851 <li class="indline1"><tt>OCTET</tt> <a class="iref" href="#rfc.iref.g. 2"><b>2.2</b></a></li>2852 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.4 9"><b>3.4</b></a></li>2853 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.2 9"><b>3.2.1</b></a></li>2854 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g. 30"><b>3.2.1</b></a></li>2855 <li class="indline1"><tt>product</tt> <a class="iref" href="#rfc.iref.g.6 1"><b>3.5</b></a></li>2856 <li class="indline1"><tt>product-version</tt> <a class="iref" href="#rfc.iref.g.6 2"><b>3.5</b></a></li>2857 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.9 4"><b>8.9</b></a></li>2858 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.9 5"><b>8.9</b></a></li>2859 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.9 7"><b>8.9</b></a></li>2860 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.2 2"><b>2.2</b></a></li>2861 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.3 1"><b>3.2.1</b></a></li>2862 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.2 4"><b>2.2</b></a></li>2863 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.2 1"><b>2.2</b></a></li>2864 <li class="indline1"><tt>quoted-text</tt> <a class="iref" href="#rfc.iref.g.2 3"><b>2.2</b></a></li>2865 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.8 1"><b>6.1.1</b></a></li>2866 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.9 6"><b>8.9</b></a></li>2867 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.9 3"><b>8.9</b></a></li>2868 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.3 2"><b>3.2.1</b></a></li>2869 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.7 2"><b>5</b></a></li>2870 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.7 3"><b>5.1</b></a></li>2871 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.7 6"><b>5.1.2</b></a></li>2872 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.7 7"><b>6</b></a></li>2873 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.3 6"><b>3.3.1</b></a></li>2874 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.3 8"><b>3.3.1</b></a></li>2875 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.1 8"><b>2.2</b></a></li>2876 <li class="indline1"><tt>SP</tt> <a class="iref" href="#rfc.iref.g. 9"><b>2.2</b></a></li>2877 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.6 5"><b>4.1</b></a></li>2878 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.7 9"><b>6.1.1</b></a></li>2879 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.7 8"><b>6.1</b></a></li>2880 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.8 8"><b>8.5</b></a></li>2881 <li class="indline1"><tt>tchar</tt> <a class="iref" href="#rfc.iref.g.1 7"><b>2.2</b></a></li>2882 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.8 7"><b>8.5</b></a></li>2883 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.1 4"><b>2.2</b></a></li>2884 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.4 3"><b>3.3.1</b></a></li>2885 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.1 6"><b>2.2</b></a></li>2886 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.8 9"><b>8.6</b></a></li>2887 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g. 60"><b>3.4.1</b></a></li>2888 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.4 7"><b>3.4</b></a></li>2889 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g. 90"><b>8.7</b></a></li>2890 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.4 8"><b>3.4</b></a></li>2891 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.9 1"><b>8.8</b></a></li>2892 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.3 3"><b>3.2.1</b></a></li>2893 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.5 1"><b>3.4</b></a></li>2894 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.9 2"><b>8.9</b></a></li>2895 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.4 5"><b>3.3.1</b></a></li>2896 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.4 4"><b>3.3.1</b></a></li>2802 <li class="indline1"><tt>absoluteURI</tt> <a class="iref" href="#rfc.iref.g.26"><b>3.2.1</b></a></li> 2803 <li class="indline1"><tt>ALPHA</tt> <a class="iref" href="#rfc.iref.g.3"><b>2.2</b></a></li> 2804 <li class="indline1"><tt>asctime-date</tt> <a class="iref" href="#rfc.iref.g.38"><b>3.3.1</b></a></li> 2805 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.49"><b>3.4</b></a></li> 2806 <li class="indline1"><tt>authority</tt> <a class="iref" href="#rfc.iref.g.27"><b>3.2.1</b></a></li> 2807 <li class="indline1"><tt>CHAR</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 2808 <li class="indline1"><tt>chunk</tt> <a class="iref" href="#rfc.iref.g.52"><b>3.4.1</b></a></li> 2809 <li class="indline1"><tt>chunk-data</tt> <a class="iref" href="#rfc.iref.g.58"><b>3.4.1</b></a></li> 2810 <li class="indline1"><tt>chunk-ext-name</tt> <a class="iref" href="#rfc.iref.g.56"><b>3.4.1</b></a></li> 2811 <li class="indline1"><tt>chunk-ext-val</tt> <a class="iref" href="#rfc.iref.g.57"><b>3.4.1</b></a></li> 2812 <li class="indline1"><tt>chunk-extension</tt> <a class="iref" href="#rfc.iref.g.55"><b>3.4.1</b></a></li> 2813 <li class="indline1"><tt>chunk-size</tt> <a class="iref" href="#rfc.iref.g.53"><b>3.4.1</b></a></li> 2814 <li class="indline1"><tt>Chunked-Body</tt> <a class="iref" href="#rfc.iref.g.51"><b>3.4.1</b></a></li> 2815 <li class="indline1"><tt>comment</tt> <a class="iref" href="#rfc.iref.g.18"><b>2.2</b></a></li> 2816 <li class="indline1"><tt>Connection</tt> <a class="iref" href="#rfc.iref.g.81"><b>8.1</b></a></li> 2817 <li class="indline1"><tt>connection-token</tt> <a class="iref" href="#rfc.iref.g.82"><b>8.1</b></a></li> 2818 <li class="indline1"><tt>Content-Length</tt> <a class="iref" href="#rfc.iref.g.83"><b>8.2</b></a></li> 2819 <li class="indline1"><tt>CR</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.2</b></a></li> 2820 <li class="indline1"><tt>CRLF</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.2</b></a></li> 2821 <li class="indline1"><tt>ctext</tt> <a class="iref" href="#rfc.iref.g.19"><b>2.2</b></a></li> 2822 <li class="indline1"><tt>CTL</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.2</b></a></li> 2823 <li class="indline1"><tt>Date</tt> <a class="iref" href="#rfc.iref.g.84"><b>8.3</b></a></li> 2824 <li class="indline1"><tt>date1</tt> <a class="iref" href="#rfc.iref.g.39"><b>3.3.1</b></a></li> 2825 <li class="indline1"><tt>date2</tt> <a class="iref" href="#rfc.iref.g.40"><b>3.3.1</b></a></li> 2826 <li class="indline1"><tt>date3</tt> <a class="iref" href="#rfc.iref.g.41"><b>3.3.1</b></a></li> 2827 <li class="indline1"><tt>DIGIT</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.2</b></a></li> 2828 <li class="indline1"><tt>DQUOTE</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.2</b></a></li> 2829 <li class="indline1"><tt>extension-code</tt> <a class="iref" href="#rfc.iref.g.79"><b>6.1.1</b></a></li> 2830 <li class="indline1"><tt>extension-method</tt> <a class="iref" href="#rfc.iref.g.74"><b>5.1.1</b></a></li> 2831 <li class="indline1"><tt>field-content</tt> <a class="iref" href="#rfc.iref.g.68"><b>4.2</b></a></li> 2832 <li class="indline1"><tt>field-name</tt> <a class="iref" href="#rfc.iref.g.66"><b>4.2</b></a></li> 2833 <li class="indline1"><tt>field-value</tt> <a class="iref" href="#rfc.iref.g.67"><b>4.2</b></a></li> 2834 <li class="indline1"><tt>general-header</tt> <a class="iref" href="#rfc.iref.g.70"><b>4.5</b></a></li> 2835 <li class="indline1"><tt>generic-message</tt> <a class="iref" href="#rfc.iref.g.63"><b>4.1</b></a></li> 2836 <li class="indline1"><tt>HEXDIG</tt> <a class="iref" href="#rfc.iref.g.14"><b>2.2</b></a></li> 2837 <li class="indline1"><tt>Host</tt> <a class="iref" href="#rfc.iref.g.85"><b>8.4</b></a></li> 2838 <li class="indline1"><tt>HTAB</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.2</b></a></li> 2839 <li class="indline1"><tt>HTTP-date</tt> <a class="iref" href="#rfc.iref.g.34"><b>3.3.1</b></a></li> 2840 <li class="indline1"><tt>HTTP-message</tt> <a class="iref" href="#rfc.iref.g.62"><b>4.1</b></a></li> 2841 <li class="indline1"><tt>HTTP-Prot-Name</tt> <a class="iref" href="#rfc.iref.g.25"><b>3.1</b></a></li> 2842 <li class="indline1"><tt>http-URL</tt> <a class="iref" href="#rfc.iref.g.33"><b>3.2.2</b></a></li> 2843 <li class="indline1"><tt>HTTP-Version</tt> <a class="iref" href="#rfc.iref.g.24"><b>3.1</b></a></li> 2844 <li class="indline1"><tt>last-chunk</tt> <a class="iref" href="#rfc.iref.g.54"><b>3.4.1</b></a></li> 2845 <li class="indline1"><tt>LF</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.2</b></a></li> 2846 <li class="indline1"><tt>LWS</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.2</b></a></li> 2847 <li class="indline1"><tt>message-body</tt> <a class="iref" href="#rfc.iref.g.69"><b>4.3</b></a></li> 2848 <li class="indline1"><tt>message-header</tt> <a class="iref" href="#rfc.iref.g.65"><b>4.2</b></a></li> 2849 <li class="indline1"><tt>Method</tt> <a class="iref" href="#rfc.iref.g.73"><b>5.1.1</b></a></li> 2850 <li class="indline1"><tt>month</tt> <a class="iref" href="#rfc.iref.g.45"><b>3.3.1</b></a></li> 2851 <li class="indline1"><tt>obsolete-date</tt> <a class="iref" href="#rfc.iref.g.36"><b>3.3.1</b></a></li> 2852 <li class="indline1"><tt>OCTET</tt> <a class="iref" href="#rfc.iref.g.1"><b>2.2</b></a></li> 2853 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.48"><b>3.4</b></a></li> 2854 <li class="indline1"><tt>path-absolute</tt> <a class="iref" href="#rfc.iref.g.28"><b>3.2.1</b></a></li> 2855 <li class="indline1"><tt>port</tt> <a class="iref" href="#rfc.iref.g.29"><b>3.2.1</b></a></li> 2856 <li class="indline1"><tt>product</tt> <a class="iref" href="#rfc.iref.g.60"><b>3.5</b></a></li> 2857 <li class="indline1"><tt>product-version</tt> <a class="iref" href="#rfc.iref.g.61"><b>3.5</b></a></li> 2858 <li class="indline1"><tt>protocol-name</tt> <a class="iref" href="#rfc.iref.g.93"><b>8.9</b></a></li> 2859 <li class="indline1"><tt>protocol-version</tt> <a class="iref" href="#rfc.iref.g.94"><b>8.9</b></a></li> 2860 <li class="indline1"><tt>pseudonym</tt> <a class="iref" href="#rfc.iref.g.96"><b>8.9</b></a></li> 2861 <li class="indline1"><tt>qdtext</tt> <a class="iref" href="#rfc.iref.g.21"><b>2.2</b></a></li> 2862 <li class="indline1"><tt>query</tt> <a class="iref" href="#rfc.iref.g.30"><b>3.2.1</b></a></li> 2863 <li class="indline1"><tt>quoted-pair</tt> <a class="iref" href="#rfc.iref.g.23"><b>2.2</b></a></li> 2864 <li class="indline1"><tt>quoted-string</tt> <a class="iref" href="#rfc.iref.g.20"><b>2.2</b></a></li> 2865 <li class="indline1"><tt>quoted-text</tt> <a class="iref" href="#rfc.iref.g.22"><b>2.2</b></a></li> 2866 <li class="indline1"><tt>Reason-Phrase</tt> <a class="iref" href="#rfc.iref.g.80"><b>6.1.1</b></a></li> 2867 <li class="indline1"><tt>received-by</tt> <a class="iref" href="#rfc.iref.g.95"><b>8.9</b></a></li> 2868 <li class="indline1"><tt>received-protocol</tt> <a class="iref" href="#rfc.iref.g.92"><b>8.9</b></a></li> 2869 <li class="indline1"><tt>relativeURI</tt> <a class="iref" href="#rfc.iref.g.31"><b>3.2.1</b></a></li> 2870 <li class="indline1"><tt>Request</tt> <a class="iref" href="#rfc.iref.g.71"><b>5</b></a></li> 2871 <li class="indline1"><tt>Request-Line</tt> <a class="iref" href="#rfc.iref.g.72"><b>5.1</b></a></li> 2872 <li class="indline1"><tt>Request-URI</tt> <a class="iref" href="#rfc.iref.g.75"><b>5.1.2</b></a></li> 2873 <li class="indline1"><tt>Response</tt> <a class="iref" href="#rfc.iref.g.76"><b>6</b></a></li> 2874 <li class="indline1"><tt>rfc1123-date</tt> <a class="iref" href="#rfc.iref.g.35"><b>3.3.1</b></a></li> 2875 <li class="indline1"><tt>rfc850-date</tt> <a class="iref" href="#rfc.iref.g.37"><b>3.3.1</b></a></li> 2876 <li class="indline1"><tt>separators</tt> <a class="iref" href="#rfc.iref.g.17"><b>2.2</b></a></li> 2877 <li class="indline1"><tt>SP</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.2</b></a></li> 2878 <li class="indline1"><tt>start-line</tt> <a class="iref" href="#rfc.iref.g.64"><b>4.1</b></a></li> 2879 <li class="indline1"><tt>Status-Code</tt> <a class="iref" href="#rfc.iref.g.78"><b>6.1.1</b></a></li> 2880 <li class="indline1"><tt>Status-Line</tt> <a class="iref" href="#rfc.iref.g.77"><b>6.1</b></a></li> 2881 <li class="indline1"><tt>t-codings</tt> <a class="iref" href="#rfc.iref.g.87"><b>8.5</b></a></li> 2882 <li class="indline1"><tt>tchar</tt> <a class="iref" href="#rfc.iref.g.16"><b>2.2</b></a></li> 2883 <li class="indline1"><tt>TE</tt> <a class="iref" href="#rfc.iref.g.86"><b>8.5</b></a></li> 2884 <li class="indline1"><tt>TEXT</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.2</b></a></li> 2885 <li class="indline1"><tt>time</tt> <a class="iref" href="#rfc.iref.g.42"><b>3.3.1</b></a></li> 2886 <li class="indline1"><tt>token</tt> <a class="iref" href="#rfc.iref.g.15"><b>2.2</b></a></li> 2887 <li class="indline1"><tt>Trailer</tt> <a class="iref" href="#rfc.iref.g.88"><b>8.6</b></a></li> 2888 <li class="indline1"><tt>trailer-part</tt> <a class="iref" href="#rfc.iref.g.59"><b>3.4.1</b></a></li> 2889 <li class="indline1"><tt>transfer-coding</tt> <a class="iref" href="#rfc.iref.g.46"><b>3.4</b></a></li> 2890 <li class="indline1"><tt>Transfer-Encoding</tt> <a class="iref" href="#rfc.iref.g.89"><b>8.7</b></a></li> 2891 <li class="indline1"><tt>transfer-extension</tt> <a class="iref" href="#rfc.iref.g.47"><b>3.4</b></a></li> 2892 <li class="indline1"><tt>Upgrade</tt> <a class="iref" href="#rfc.iref.g.90"><b>8.8</b></a></li> 2893 <li class="indline1"><tt>uri-host</tt> <a class="iref" href="#rfc.iref.g.32"><b>3.2.1</b></a></li> 2894 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.50"><b>3.4</b></a></li> 2895 <li class="indline1"><tt>Via</tt> <a class="iref" href="#rfc.iref.g.91"><b>8.9</b></a></li> 2896 <li class="indline1"><tt>weekday</tt> <a class="iref" href="#rfc.iref.g.44"><b>3.3.1</b></a></li> 2897 <li class="indline1"><tt>wkday</tt> <a class="iref" href="#rfc.iref.g.43"><b>3.3.1</b></a></li> 2897 2898 </ul> 2898 2899 </li> … … 2919 2920 </li> 2920 2921 <li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind"> 2921 <li class="indline1">implied *LWS <a class="iref" href="#rfc.iref.i. 2"><b>2.1.2</b></a></li>2922 <li class="indline1">inbound <a class="iref" href="#rfc.iref.i. 1">1.3</a></li>2922 <li class="indline1">implied *LWS <a class="iref" href="#rfc.iref.i.1"><b>2.1.2</b></a></li> 2923 <li class="indline1">inbound <a class="iref" href="#rfc.iref.i.2">D</a></li> 2923 2924 <li class="indline1"><em>ISO-8859-1</em> <a class="iref" href="#rfc.xref.ISO-8859-1.1">2.2</a>, <a class="iref" href="#ISO-8859-1"><b>12.1</b></a></li> 2924 2925 </ul> … … 2931 2932 <li class="indline1">Media Type 2932 2933 <ul class="ind"> 2933 <li class="indline1">application/http <a class="iref" href="#rfc.iref.m. 4"><b>9.3.2</b></a></li>2934 <li class="indline1">message/http <a class="iref" href="#rfc.iref.m. 2"><b>9.3.1</b></a></li>2934 <li class="indline1">application/http <a class="iref" href="#rfc.iref.m.3"><b>9.3.2</b></a></li> 2935 <li class="indline1">message/http <a class="iref" href="#rfc.iref.m.1"><b>9.3.1</b></a></li> 2935 2936 </ul> 2936 2937 </li> 2937 <li class="indline1">message <a class="iref" href="#rfc.iref.m. 1">1.3</a></li>2938 <li class="indline1">message/http Media Type <a class="iref" href="#rfc.iref.m. 3"><b>9.3.1</b></a></li>2938 <li class="indline1">message <a class="iref" href="#rfc.iref.m.4">D</a></li> 2939 <li class="indline1">message/http Media Type <a class="iref" href="#rfc.iref.m.2"><b>9.3.1</b></a></li> 2939 2940 </ul> 2940 2941 </li> … … 2944 2945 </li> 2945 2946 <li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind"> 2946 <li class="indline1">origin server <a class="iref" href="#rfc.iref.o.1"> 1.3</a></li>2947 <li class="indline1">outbound <a class="iref" href="#rfc.iref.o.2"> 1.3</a></li>2947 <li class="indline1">origin server <a class="iref" href="#rfc.iref.o.1">D</a></li> 2948 <li class="indline1">outbound <a class="iref" href="#rfc.iref.o.2">D</a></li> 2948 2949 </ul> 2949 2950 </li> … … 2963 2964 </ul> 2964 2965 </li> 2965 <li class="indline1"><em>Part3</em> <a class="iref" href="#rfc.xref.Part3.1">1.3</a>, <a class="iref" href="#rfc.xref.Part3.2"> 1.3</a>, <a class="iref" href="#rfc.xref.Part3.3">1.3</a>, <a class="iref" href="#rfc.xref.Part3.4">1.4</a>, <a class="iref" href="#rfc.xref.Part3.5">2.2</a>, <a class="iref" href="#rfc.xref.Part3.6">2.3</a>, <a class="iref" href="#rfc.xref.Part3.7">2.3</a>, <a class="iref" href="#rfc.xref.Part3.8">2.3</a>, <a class="iref" href="#rfc.xref.Part3.9">3.4</a>, <a class="iref" href="#rfc.xref.Part3.10">3.4</a>, <a class="iref" href="#rfc.xref.Part3.11">4.2</a>, <a class="iref" href="#rfc.xref.Part3.12">5</a>, <a class="iref" href="#rfc.xref.Part3.13">6</a>, <a class="iref" href="#rfc.xref.Part3.14">8.5</a>, <a class="iref" href="#Part3"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.Part3.15">A</a>, <a class="iref" href="#rfc.xref.Part3.16">C.3</a><ul class="ind">2966 <li class="indline1"><em>Section 3.2</em> <a class="iref" href="#rfc.xref.Part3. 9">3.4</a>, <a class="iref" href="#rfc.xref.Part3.10">3.4</a></li>2967 <li class="indline1"><em>Section 3.3</em> <a class="iref" href="#rfc.xref.Part3. 5">2.2</a></li>2968 <li class="indline1"><em>Section 3.4</em> <a class="iref" href="#rfc.xref.Part3.1 4">8.5</a></li>2969 <li class="indline1"><em>Section 4 </em> <a class="iref" href="#rfc.xref.Part3.1">1.3</a></li>2970 <li class="indline1"><em>Section 4 .1</em> <a class="iref" href="#rfc.xref.Part3.8">2.3</a>, <a class="iref" href="#rfc.xref.Part3.11">4.2</a>, <a class="iref" href="#rfc.xref.Part3.12">5</a>, <a class="iref" href="#rfc.xref.Part3.13">6</a></li>2971 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part3. 7">2.3</a></li>2972 <li class="indline1"><em>Section 5</em> <a class="iref" href="#rfc.xref.Part3. 2">1.3</a>, <a class="iref" href="#rfc.xref.Part3.3">1.3</a></li>2973 <li class="indline1"><em>Section 6.1</em> <a class="iref" href="#rfc.xref.Part3. 6">2.3</a></li>2974 <li class="indline1"><em>Appendix A</em> <a class="iref" href="#rfc.xref.Part3. 4">1.4</a></li>2966 <li class="indline1"><em>Part3</em> <a class="iref" href="#rfc.xref.Part3.1">1.3</a>, <a class="iref" href="#rfc.xref.Part3.2">2.2</a>, <a class="iref" href="#rfc.xref.Part3.3">2.3</a>, <a class="iref" href="#rfc.xref.Part3.4">2.3</a>, <a class="iref" href="#rfc.xref.Part3.5">2.3</a>, <a class="iref" href="#rfc.xref.Part3.6">3.4</a>, <a class="iref" href="#rfc.xref.Part3.7">3.4</a>, <a class="iref" href="#rfc.xref.Part3.8">4.2</a>, <a class="iref" href="#rfc.xref.Part3.9">5</a>, <a class="iref" href="#rfc.xref.Part3.10">6</a>, <a class="iref" href="#rfc.xref.Part3.11">8.5</a>, <a class="iref" href="#Part3"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.Part3.12">A</a>, <a class="iref" href="#rfc.xref.Part3.13">C.3</a>, <a class="iref" href="#rfc.xref.Part3.14">D</a>, <a class="iref" href="#rfc.xref.Part3.15">D</a>, <a class="iref" href="#rfc.xref.Part3.16">D</a><ul class="ind"> 2967 <li class="indline1"><em>Section 3.2</em> <a class="iref" href="#rfc.xref.Part3.6">3.4</a>, <a class="iref" href="#rfc.xref.Part3.7">3.4</a></li> 2968 <li class="indline1"><em>Section 3.3</em> <a class="iref" href="#rfc.xref.Part3.2">2.2</a></li> 2969 <li class="indline1"><em>Section 3.4</em> <a class="iref" href="#rfc.xref.Part3.11">8.5</a></li> 2970 <li class="indline1"><em>Section 4.1</em> <a class="iref" href="#rfc.xref.Part3.5">2.3</a>, <a class="iref" href="#rfc.xref.Part3.8">4.2</a>, <a class="iref" href="#rfc.xref.Part3.9">5</a>, <a class="iref" href="#rfc.xref.Part3.10">6</a></li> 2971 <li class="indline1"><em>Section 4</em> <a class="iref" href="#rfc.xref.Part3.14">D</a></li> 2972 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part3.4">2.3</a></li> 2973 <li class="indline1"><em>Section 5</em> <a class="iref" href="#rfc.xref.Part3.15">D</a>, <a class="iref" href="#rfc.xref.Part3.16">D</a></li> 2974 <li class="indline1"><em>Section 6.1</em> <a class="iref" href="#rfc.xref.Part3.3">2.3</a></li> 2975 <li class="indline1"><em>Appendix A</em> <a class="iref" href="#rfc.xref.Part3.1">1.3</a></li> 2975 2976 </ul> 2976 2977 </li> 2977 2978 <li class="indline1"><em>Part5</em> <a class="iref" href="#Part5"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.Part5.1">C.3</a></li> 2978 <li class="indline1"><em>Part6</em> <a class="iref" href="#rfc.xref.Part6.1">1.3</a>, <a class="iref" href="#rfc.xref.Part6.2"> 1.4</a>, <a class="iref" href="#rfc.xref.Part6.3">2.3</a>, <a class="iref" href="#rfc.xref.Part6.4">2.3</a>, <a class="iref" href="#rfc.xref.Part6.5">2.3</a>, <a class="iref" href="#rfc.xref.Part6.6">4.5</a>, <a class="iref" href="#rfc.xref.Part6.7">4.5</a>, <a class="iref" href="#rfc.xref.Part6.8">4.5</a>, <a class="iref" href="#Part6"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.Part6.9">C.3</a><ul class="ind">2979 <li class="indline1"><em>Section 1</em> <a class="iref" href="#rfc.xref.Part6.1">1.3</a>, <a class="iref" href="#rfc.xref.Part6. 2">1.4</a></li>2980 <li class="indline1"><em>Section 16.2</em> <a class="iref" href="#rfc.xref.Part6. 6">4.5</a></li>2981 <li class="indline1"><em>Section 16.4</em> <a class="iref" href="#rfc.xref.Part6. 3">2.3</a>, <a class="iref" href="#rfc.xref.Part6.4">2.3</a>, <a class="iref" href="#rfc.xref.Part6.7">4.5</a></li>2982 <li class="indline1"><em>Section 16.6</em> <a class="iref" href="#rfc.xref.Part6. 5">2.3</a>, <a class="iref" href="#rfc.xref.Part6.8">4.5</a></li>2979 <li class="indline1"><em>Part6</em> <a class="iref" href="#rfc.xref.Part6.1">1.3</a>, <a class="iref" href="#rfc.xref.Part6.2">2.3</a>, <a class="iref" href="#rfc.xref.Part6.3">2.3</a>, <a class="iref" href="#rfc.xref.Part6.4">2.3</a>, <a class="iref" href="#rfc.xref.Part6.5">4.5</a>, <a class="iref" href="#rfc.xref.Part6.6">4.5</a>, <a class="iref" href="#rfc.xref.Part6.7">4.5</a>, <a class="iref" href="#Part6"><b>12.1</b></a>, <a class="iref" href="#rfc.xref.Part6.8">C.3</a>, <a class="iref" href="#rfc.xref.Part6.9">D</a><ul class="ind"> 2980 <li class="indline1"><em>Section 1</em> <a class="iref" href="#rfc.xref.Part6.1">1.3</a>, <a class="iref" href="#rfc.xref.Part6.9">D</a></li> 2981 <li class="indline1"><em>Section 16.2</em> <a class="iref" href="#rfc.xref.Part6.5">4.5</a></li> 2982 <li class="indline1"><em>Section 16.4</em> <a class="iref" href="#rfc.xref.Part6.2">2.3</a>, <a class="iref" href="#rfc.xref.Part6.3">2.3</a>, <a class="iref" href="#rfc.xref.Part6.6">4.5</a></li> 2983 <li class="indline1"><em>Section 16.6</em> <a class="iref" href="#rfc.xref.Part6.4">2.3</a>, <a class="iref" href="#rfc.xref.Part6.7">4.5</a></li> 2983 2984 </ul> 2984 2985 </li> 2985 <li class="indline1">proxy <a class="iref" href="#rfc.iref.p.1"> 1.3</a></li>2986 <li class="indline1">proxy <a class="iref" href="#rfc.iref.p.1">D</a></li> 2986 2987 </ul> 2987 2988 </li> 2988 2989 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"> 2989 <li class="indline1">representation <a class="iref" href="#rfc.iref.r.4"> 1.3</a></li>2990 <li class="indline1">request <a class="iref" href="#rfc.iref.r.1"> 1.3</a></li>2991 <li class="indline1">resource <a class="iref" href="#rfc.iref.r.3"> 1.3</a></li>2992 <li class="indline1">response <a class="iref" href="#rfc.iref.r.2"> 1.3</a></li>2990 <li class="indline1">representation <a class="iref" href="#rfc.iref.r.4">D</a></li> 2991 <li class="indline1">request <a class="iref" href="#rfc.iref.r.1">D</a></li> 2992 <li class="indline1">resource <a class="iref" href="#rfc.iref.r.3">D</a></li> 2993 <li class="indline1">response <a class="iref" href="#rfc.iref.r.2">D</a></li> 2993 2994 <li class="indline1"><em>RFC1123</em> <a class="iref" href="#rfc.xref.RFC1123.1">3.3.1</a>, <a class="iref" href="#RFC1123"><b>12.2</b></a></li> 2994 2995 <li class="indline1"><em>RFC1305</em> <a class="iref" href="#rfc.xref.RFC1305.1">8.3</a>, <a class="iref" href="#RFC1305"><b>12.2</b></a></li> … … 3021 3022 </ul> 3022 3023 </li> 3023 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">1</a>, <a class="iref" href="#rfc.xref.RFC2616.2">1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">11</a>, <a class="iref" href="#RFC2616"><b>12.2</b></a>, <a class="iref" href="#rfc.xref.RFC2616.4"> D.1</a></li>3024 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">1</a>, <a class="iref" href="#rfc.xref.RFC2616.2">1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">11</a>, <a class="iref" href="#RFC2616"><b>12.2</b></a>, <a class="iref" href="#rfc.xref.RFC2616.4">E.1</a></li> 3024 3025 <li class="indline1"><em>RFC2818</em> <a class="iref" href="#rfc.xref.RFC2818.1">3.2.2</a>, <a class="iref" href="#RFC2818"><b>12.2</b></a></li> 3025 3026 <li class="indline1"><em>RFC2821</em> <a class="iref" href="#rfc.xref.RFC2821.1">1.1</a>, <a class="iref" href="#RFC2821"><b>12.2</b></a></li> … … 3041 3042 </li> 3042 3043 <li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind"> 3043 <li class="indline1">server <a class="iref" href="#rfc.iref.s.1"> 1.3</a></li>3044 <li class="indline1">server <a class="iref" href="#rfc.iref.s.1">D</a></li> 3044 3045 <li class="indline1"><em>Spe</em> <a class="iref" href="#rfc.xref.Spe.1">7.1.1</a>, <a class="iref" href="#Spe"><b>12.2</b></a></li> 3045 3046 </ul> 3046 3047 </li> 3047 3048 <li class="indline0"><a id="rfc.index.T" href="#rfc.index.T"><b>T</b></a><ul class="ind"> 3048 <li class="indline1">TE header <a class="iref" href="#rfc.xref.header.te.1">3.4</a>, <a class="iref" href="#rfc.xref.header.te.2">3.4.1</a>, <a class="iref" href="#rfc.iref.t. 2"><b>8.5</b></a>, <a class="iref" href="#rfc.xref.header.te.3">9.1</a>, <a class="iref" href="#rfc.xref.header.te.4">C.3</a></li>3049 <li class="indline1">TE header <a class="iref" href="#rfc.xref.header.te.1">3.4</a>, <a class="iref" href="#rfc.xref.header.te.2">3.4.1</a>, <a class="iref" href="#rfc.iref.t.1"><b>8.5</b></a>, <a class="iref" href="#rfc.xref.header.te.3">9.1</a>, <a class="iref" href="#rfc.xref.header.te.4">C.3</a></li> 3049 3050 <li class="indline1"><em>Tou1998</em> <a class="iref" href="#rfc.xref.Tou1998.1">7.1.1</a>, <a class="iref" href="#Tou1998"><b>12.2</b></a></li> 3050 <li class="indline1">Trailer header <a class="iref" href="#rfc.xref.header.trailer.1">3.4.1</a>, <a class="iref" href="#rfc.xref.header.trailer.2">4.5</a>, <a class="iref" href="#rfc.iref.t. 3"><b>8.6</b></a>, <a class="iref" href="#rfc.xref.header.trailer.3">9.1</a></li>3051 <li class="indline1">Transfer-Encoding header <a class="iref" href="#rfc.xref.header.transfer-encoding.1">3.4</a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.2">4.3</a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.3">4.4</a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.4">4.5</a>, <a class="iref" href="#rfc.iref.t. 4"><b>8.7</b></a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.5">9.1</a></li>3052 <li class="indline1">tunnel <a class="iref" href="#rfc.iref.t. 1">1.3</a></li>3051 <li class="indline1">Trailer header <a class="iref" href="#rfc.xref.header.trailer.1">3.4.1</a>, <a class="iref" href="#rfc.xref.header.trailer.2">4.5</a>, <a class="iref" href="#rfc.iref.t.2"><b>8.6</b></a>, <a class="iref" href="#rfc.xref.header.trailer.3">9.1</a></li> 3052 <li class="indline1">Transfer-Encoding header <a class="iref" href="#rfc.xref.header.transfer-encoding.1">3.4</a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.2">4.3</a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.3">4.4</a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.4">4.5</a>, <a class="iref" href="#rfc.iref.t.3"><b>8.7</b></a>, <a class="iref" href="#rfc.xref.header.transfer-encoding.5">9.1</a></li> 3053 <li class="indline1">tunnel <a class="iref" href="#rfc.iref.t.4">D</a></li> 3053 3054 </ul> 3054 3055 </li> 3055 3056 <li class="indline0"><a id="rfc.index.U" href="#rfc.index.U"><b>U</b></a><ul class="ind"> 3056 <li class="indline1">Upgrade header <a class="iref" href="#rfc.xref.header.upgrade.1">4.5</a>, <a class="iref" href="#rfc.iref.u. 5"><b>8.8</b></a>, <a class="iref" href="#rfc.xref.header.upgrade.2">9.1</a></li>3057 <li class="indline1">upstream <a class="iref" href="#rfc.iref.u. 2">1.3</a></li>3057 <li class="indline1">Upgrade header <a class="iref" href="#rfc.xref.header.upgrade.1">4.5</a>, <a class="iref" href="#rfc.iref.u.3"><b>8.8</b></a>, <a class="iref" href="#rfc.xref.header.upgrade.2">9.1</a></li> 3058 <li class="indline1">upstream <a class="iref" href="#rfc.iref.u.5">D</a></li> 3058 3059 <li class="indline1">URI scheme 3059 3060 <ul class="ind"> 3060 <li class="indline1">http <a class="iref" href="#rfc.iref.u. 3"><b>3.2.2</b></a></li>3061 <li class="indline1">https <a class="iref" href="#rfc.iref.u. 4">3.2.2</a></li>3061 <li class="indline1">http <a class="iref" href="#rfc.iref.u.1"><b>3.2.2</b></a></li> 3062 <li class="indline1">https <a class="iref" href="#rfc.iref.u.2">3.2.2</a></li> 3062 3063 </ul> 3063 3064 </li> 3064 3065 <li class="indline1"><em>USASCII</em> <a class="iref" href="#rfc.xref.USASCII.1">2.2</a>, <a class="iref" href="#USASCII"><b>12.1</b></a></li> 3065 <li class="indline1">user agent <a class="iref" href="#rfc.iref.u. 1">1.3</a></li>3066 <li class="indline1">user agent <a class="iref" href="#rfc.iref.u.4">D</a></li> 3066 3067 </ul> 3067 3068 </li> 3068 3069 <li class="indline0"><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul class="ind"> 3069 <li class="indline1">variant <a class="iref" href="#rfc.iref.v. 1">1.3</a></li>3070 <li class="indline1">Via header <a class="iref" href="#rfc.xref.header.via.1">4.5</a>, <a class="iref" href="#rfc.iref.v. 2"><b>8.9</b></a>, <a class="iref" href="#rfc.xref.header.via.2">9.1</a></li>3070 <li class="indline1">variant <a class="iref" href="#rfc.iref.v.2">D</a></li> 3071 <li class="indline1">Via header <a class="iref" href="#rfc.xref.header.via.1">4.5</a>, <a class="iref" href="#rfc.iref.v.1"><b>8.9</b></a>, <a class="iref" href="#rfc.xref.header.via.2">9.1</a></li> 3071 3072 </ul> 3072 3073 </li> -
draft-ietf-httpbis/latest/p1-messaging.xml
r345 r346 306 306 </section> 307 307 308 <section title="Terminology" anchor="intro.terminology">309 <t>310 This specification uses a number of terms to refer to the roles311 played by participants in, and objects of, the HTTP communication.312 </t>313 <t>314 <iref item="connection"/>315 <x:dfn>connection</x:dfn>316 <list>317 <t>318 A transport layer virtual circuit established between two programs319 for the purpose of communication.320 </t>321 </list>322 </t>323 <t>324 <iref item="message"/>325 <x:dfn>message</x:dfn>326 <list>327 <t>328 The basic unit of HTTP communication, consisting of a structured329 sequence of octets matching the syntax defined in <xref target="http.message"/> and330 transmitted via the connection.331 </t>332 </list>333 </t>334 <t>335 <iref item="request"/>336 <x:dfn>request</x:dfn>337 <list>338 <t>339 An HTTP request message, as defined in <xref target="request"/>.340 </t>341 </list>342 </t>343 <t>344 <iref item="response"/>345 <x:dfn>response</x:dfn>346 <list>347 <t>348 An HTTP response message, as defined in <xref target="response"/>.349 </t>350 </list>351 </t>352 <t>353 <iref item="resource"/>354 <x:dfn>resource</x:dfn>355 <list>356 <t>357 A network data object or service that can be identified by a URI,358 as defined in <xref target="uri"/>. Resources may be available in multiple359 representations (e.g. multiple languages, data formats, size, and360 resolutions) or vary in other ways.361 </t>362 </list>363 </t>364 <t>365 <iref item="entity"/>366 <x:dfn>entity</x:dfn>367 <list>368 <t>369 The information transferred as the payload of a request or370 response. An entity consists of metainformation in the form of371 entity-header fields and content in the form of an entity-body, as372 described in &entity;.373 </t>374 </list>375 </t>376 <t>377 <iref item="representation"/>378 <x:dfn>representation</x:dfn>379 <list>380 <t>381 An entity included with a response that is subject to content382 negotiation, as described in &content.negotiation;. There may exist multiple383 representations associated with a particular response status.384 </t>385 </list>386 </t>387 <t>388 <iref item="content negotiation"/>389 <x:dfn>content negotiation</x:dfn>390 <list>391 <t>392 The mechanism for selecting the appropriate representation when393 servicing a request, as described in &content.negotiation;. The394 representation of entities in any response can be negotiated395 (including error responses).396 </t>397 </list>398 </t>399 <t>400 <iref item="variant"/>401 <x:dfn>variant</x:dfn>402 <list>403 <t>404 A resource may have one, or more than one, representation(s)405 associated with it at any given instant. Each of these406 representations is termed a `variant'. Use of the term `variant'407 does not necessarily imply that the resource is subject to content408 negotiation.409 </t>410 </list>411 </t>412 <t>413 <iref item="client"/>414 <x:dfn>client</x:dfn>415 <list>416 <t>417 A program that establishes connections for the purpose of sending418 requests.419 </t>420 </list>421 </t>422 <t>423 <iref item="user agent"/>424 <x:dfn>user agent</x:dfn>425 <list>426 <t>427 The client which initiates a request. These are often browsers,428 editors, spiders (web-traversing robots), or other end user tools.429 </t>430 </list>431 </t>432 <t>433 <iref item="server"/>434 <x:dfn>server</x:dfn>435 <list>436 <t>437 An application program that accepts connections in order to438 service requests by sending back responses. Any given program may439 be capable of being both a client and a server; our use of these440 terms refers only to the role being performed by the program for a441 particular connection, rather than to the program's capabilities442 in general. Likewise, any server may act as an origin server,443 proxy, gateway, or tunnel, switching behavior based on the nature444 of each request.445 </t>446 </list>447 </t>448 <t>449 <iref item="origin server"/>450 <x:dfn>origin server</x:dfn>451 <list>452 <t>453 The server on which a given resource resides or is to be created.454 </t>455 </list>456 </t>457 <t>458 <iref item="proxy"/>459 <x:dfn>proxy</x:dfn>460 <list>461 <t>462 An intermediary program which acts as both a server and a client463 for the purpose of making requests on behalf of other clients.464 Requests are serviced internally or by passing them on, with465 possible translation, to other servers. A proxy &MUST; implement466 both the client and server requirements of this specification. A467 "transparent proxy" is a proxy that does not modify the request or468 response beyond what is required for proxy authentication and469 identification. A "non-transparent proxy" is a proxy that modifies470 the request or response in order to provide some added service to471 the user agent, such as group annotation services, media type472 transformation, protocol reduction, or anonymity filtering. Except473 where either transparent or non-transparent behavior is explicitly474 stated, the HTTP proxy requirements apply to both types of475 proxies.476 </t>477 </list>478 </t>479 <t>480 <iref item="gateway"/>481 <x:dfn>gateway</x:dfn>482 <list>483 <t>484 A server which acts as an intermediary for some other server.485 Unlike a proxy, a gateway receives requests as if it were the486 origin server for the requested resource; the requesting client487 may not be aware that it is communicating with a gateway.488 </t>489 </list>490 </t>491 <t>492 <iref item="tunnel"/>493 <x:dfn>tunnel</x:dfn>494 <list>495 <t>496 An intermediary program which is acting as a blind relay between497 two connections. Once active, a tunnel is not considered a party498 to the HTTP communication, though the tunnel may have been499 initiated by an HTTP request. The tunnel ceases to exist when both500 ends of the relayed connections are closed.501 </t>502 </list>503 </t>504 <t>505 <iref item="cache"/>506 <x:dfn>cache</x:dfn>507 <list>508 <t>509 A program's local store of response messages and the subsystem510 that controls its message storage, retrieval, and deletion. A511 cache stores cacheable responses in order to reduce the response512 time and network bandwidth consumption on future, equivalent513 requests. Any client or server may include a cache, though a cache514 cannot be used by a server that is acting as a tunnel.515 </t>516 </list>517 </t>518 <t>519 <iref item="cacheable"/>520 <x:dfn>cacheable</x:dfn>521 <list>522 <t>523 A response is cacheable if a cache is allowed to store a copy of524 the response message for use in answering subsequent requests. The525 rules for determining the cacheability of HTTP responses are526 defined in &caching;. Even if a resource is cacheable, there may527 be additional constraints on whether a cache can use the cached528 copy for a particular request.529 </t>530 </list>531 </t>532 <t>533 <iref item="upstream"/>534 <iref item="downstream"/>535 <x:dfn>upstream</x:dfn>/<x:dfn>downstream</x:dfn>536 <list>537 <t>538 Upstream and downstream describe the flow of a message: all539 messages flow from upstream to downstream.540 </t>541 </list>542 </t>543 <t>544 <iref item="inbound"/>545 <iref item="outbound"/>546 <x:dfn>inbound</x:dfn>/<x:dfn>outbound</x:dfn>547 <list>548 <t>549 Inbound and outbound refer to the request and response paths for550 messages: "inbound" means "traveling toward the origin server",551 and "outbound" means "traveling toward the user agent"552 </t>553 </list>554 </t>555 </section>556 557 308 <section title="Overall Operation" anchor="intro.overall.operation"> 558 309 <t> … … 4376 4127 </section> 4377 4128 4129 <section title="Terminology" anchor="terminology"> 4130 <t> 4131 This specification uses a number of terms to refer to the roles 4132 played by participants in, and objects of, the HTTP communication. 4133 </t> 4134 <t> 4135 <iref item="connection"/> 4136 <x:dfn>connection</x:dfn> 4137 <list> 4138 <t> 4139 A transport layer virtual circuit established between two programs 4140 for the purpose of communication. 4141 </t> 4142 </list> 4143 </t> 4144 <t> 4145 <iref item="message"/> 4146 <x:dfn>message</x:dfn> 4147 <list> 4148 <t> 4149 The basic unit of HTTP communication, consisting of a structured 4150 sequence of octets matching the syntax defined in <xref target="http.message"/> and 4151 transmitted via the connection. 4152 </t> 4153 </list> 4154 </t> 4155 <t> 4156 <iref item="request"/> 4157 <x:dfn>request</x:dfn> 4158 <list> 4159 <t> 4160 An HTTP request message, as defined in <xref target="request"/>. 4161 </t> 4162 </list> 4163 </t> 4164 <t> 4165 <iref item="response"/> 4166 <x:dfn>response</x:dfn> 4167 <list> 4168 <t> 4169 An HTTP response message, as defined in <xref target="response"/>. 4170 </t> 4171 </list> 4172 </t> 4173 <t> 4174 <iref item="resource"/> 4175 <x:dfn>resource</x:dfn> 4176 <list> 4177 <t> 4178 A network data object or service that can be identified by a URI, 4179 as defined in <xref target="uri"/>. Resources may be available in multiple 4180 representations (e.g. multiple languages, data formats, size, and 4181 resolutions) or vary in other ways. 4182 </t> 4183 </list> 4184 </t> 4185 <t> 4186 <iref item="entity"/> 4187 <x:dfn>entity</x:dfn> 4188 <list> 4189 <t> 4190 The information transferred as the payload of a request or 4191 response. An entity consists of metainformation in the form of 4192 entity-header fields and content in the form of an entity-body, as 4193 described in &entity;. 4194 </t> 4195 </list> 4196 </t> 4197 <t> 4198 <iref item="representation"/> 4199 <x:dfn>representation</x:dfn> 4200 <list> 4201 <t> 4202 An entity included with a response that is subject to content 4203 negotiation, as described in &content.negotiation;. There may exist multiple 4204 representations associated with a particular response status. 4205 </t> 4206 </list> 4207 </t> 4208 <t> 4209 <iref item="content negotiation"/> 4210 <x:dfn>content negotiation</x:dfn> 4211 <list> 4212 <t> 4213 The mechanism for selecting the appropriate representation when 4214 servicing a request, as described in &content.negotiation;. The 4215 representation of entities in any response can be negotiated 4216 (including error responses). 4217 </t> 4218 </list> 4219 </t> 4220 <t> 4221 <iref item="variant"/> 4222 <x:dfn>variant</x:dfn> 4223 <list> 4224 <t> 4225 A resource may have one, or more than one, representation(s) 4226 associated with it at any given instant. Each of these 4227 representations is termed a `variant'. Use of the term `variant' 4228 does not necessarily imply that the resource is subject to content 4229 negotiation. 4230 </t> 4231 </list> 4232 </t> 4233 <t> 4234 <iref item="client"/> 4235 <x:dfn>client</x:dfn> 4236 <list> 4237 <t> 4238 A program that establishes connections for the purpose of sending 4239 requests. 4240 </t> 4241 </list> 4242 </t> 4243 <t> 4244 <iref item="user agent"/> 4245 <x:dfn>user agent</x:dfn> 4246 <list> 4247 <t> 4248 The client which initiates a request. These are often browsers, 4249 editors, spiders (web-traversing robots), or other end user tools. 4250 </t> 4251 </list> 4252 </t> 4253 <t> 4254 <iref item="server"/> 4255 <x:dfn>server</x:dfn> 4256 <list> 4257 <t> 4258 An application program that accepts connections in order to 4259 service requests by sending back responses. Any given program may 4260 be capable of being both a client and a server; our use of these 4261 terms refers only to the role being performed by the program for a 4262 particular connection, rather than to the program's capabilities 4263 in general. Likewise, any server may act as an origin server, 4264 proxy, gateway, or tunnel, switching behavior based on the nature 4265 of each request. 4266 </t> 4267 </list> 4268 </t> 4269 <t> 4270 <iref item="origin server"/> 4271 <x:dfn>origin server</x:dfn> 4272 <list> 4273 <t> 4274 The server on which a given resource resides or is to be created. 4275 </t> 4276 </list> 4277 </t> 4278 <t> 4279 <iref item="proxy"/> 4280 <x:dfn>proxy</x:dfn> 4281 <list> 4282 <t> 4283 An intermediary program which acts as both a server and a client 4284 for the purpose of making requests on behalf of other clients. 4285 Requests are serviced internally or by passing them on, with 4286 possible translation, to other servers. A proxy &MUST; implement 4287 both the client and server requirements of this specification. A 4288 "transparent proxy" is a proxy that does not modify the request or 4289 response beyond what is required for proxy authentication and 4290 identification. A "non-transparent proxy" is a proxy that modifies 4291 the request or response in order to provide some added service to 4292 the user agent, such as group annotation services, media type 4293 transformation, protocol reduction, or anonymity filtering. Except 4294 where either transparent or non-transparent behavior is explicitly 4295 stated, the HTTP proxy requirements apply to both types of 4296 proxies. 4297 </t> 4298 </list> 4299 </t> 4300 <t> 4301 <iref item="gateway"/> 4302 <x:dfn>gateway</x:dfn> 4303 <list> 4304 <t> 4305 A server which acts as an intermediary for some other server. 4306 Unlike a proxy, a gateway receives requests as if it were the 4307 origin server for the requested resource; the requesting client 4308 may not be aware that it is communicating with a gateway. 4309 </t> 4310 </list> 4311 </t> 4312 <t> 4313 <iref item="tunnel"/> 4314 <x:dfn>tunnel</x:dfn> 4315 <list> 4316 <t> 4317 An intermediary program which is acting as a blind relay between 4318 two connections. Once active, a tunnel is not considered a party 4319 to the HTTP communication, though the tunnel may have been 4320 initiated by an HTTP request. The tunnel ceases to exist when both 4321 ends of the relayed connections are closed. 4322 </t> 4323 </list> 4324 </t> 4325 <t> 4326 <iref item="cache"/> 4327 <x:dfn>cache</x:dfn> 4328 <list> 4329 <t> 4330 A program's local store of response messages and the subsystem 4331 that controls its message storage, retrieval, and deletion. A 4332 cache stores cacheable responses in order to reduce the response 4333 time and network bandwidth consumption on future, equivalent 4334 requests. Any client or server may include a cache, though a cache 4335 cannot be used by a server that is acting as a tunnel. 4336 </t> 4337 </list> 4338 </t> 4339 <t> 4340 <iref item="cacheable"/> 4341 <x:dfn>cacheable</x:dfn> 4342 <list> 4343 <t> 4344 A response is cacheable if a cache is allowed to store a copy of 4345 the response message for use in answering subsequent requests. The 4346 rules for determining the cacheability of HTTP responses are 4347 defined in &caching;. Even if a resource is cacheable, there may 4348 be additional constraints on whether a cache can use the cached 4349 copy for a particular request. 4350 </t> 4351 </list> 4352 </t> 4353 <t> 4354 <iref item="upstream"/> 4355 <iref item="downstream"/> 4356 <x:dfn>upstream</x:dfn>/<x:dfn>downstream</x:dfn> 4357 <list> 4358 <t> 4359 Upstream and downstream describe the flow of a message: all 4360 messages flow from upstream to downstream. 4361 </t> 4362 </list> 4363 </t> 4364 <t> 4365 <iref item="inbound"/> 4366 <iref item="outbound"/> 4367 <x:dfn>inbound</x:dfn>/<x:dfn>outbound</x:dfn> 4368 <list> 4369 <t> 4370 Inbound and outbound refer to the request and response paths for 4371 messages: "inbound" means "traveling toward the origin server", 4372 and "outbound" means "traveling toward the user agent" 4373 </t> 4374 </list> 4375 </t> 4376 </section> 4377 4378 4378 <section title="Change Log (to be removed by RFC Editor before publication)" anchor="change.log"> 4379 4379
Note: See TracChangeset
for help on using the changeset viewer.