RFC-Ref is not longer maintained; use RFC browser at: http://zvon.org/comp/r/ref-RFC.html
RFC 2616:Hypertext Transfer Protocol -- HTTP/1.1
RFC-Ref

header


Click on the red underlined text to get to the source

... allows an open-ended set of methods and headers that indicate the purpose of a request [47]. It builds on the discipline of reference ...
... entity consists of metainformation in the form of entity-header fields and content in the form of an entity-body, as described in section 7. ...
... cache is semantically transparent, the client receives exactly the same response (except for hop-by-hop headers) that it would have received had its request been handled directly by the origin server. ...


... HTTP/1.1 header field values can be folded onto multiple lines if the continuation line begins with a space or horizontal tab. All linear white space, including folding, has the same semantics ...
... A CRLF is allowed in the definition of TEXT only as part of a header field continuation. It is expected that the folding LWS will be replaced with a single SP before interpretation of the TEXT value. ...
... Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters MUST be in a quoted string to be used within a parameter value ...
... Comments can be included in some HTTP header fields by surrounding the comment text with parentheses. Comments are only allowed in fields containing "comment" as part of their field value definition. ...


... versions of HTTP may involve modification of header fields required or forbidden by the versions involved. ...
... 1123std3 format for representing HTTP-date values in header fields. See section 19.3 for further information. ...
... Some HTTP header fields allow a time value to be specified as an integer number of seconds, represented in decimal, after the time ...
... Some HTTP/1.0 software has interpreted a Content-Type header without charset parameter incorrectly to mean "recipient should guess." ...
... Encoding (section 14.3) and Content-Encoding (section 14.11) header fields. Although the value describes the content-coding, what is more important is that it indicates what decoding mechanism will be required to remove ...
... encoding; the use of no transformation whatsoever. This content-coding is used only in the Accept- Encoding header, and SHOULD NOT be used in the Content-Encoding header ...
... Encoding header, and SHOULD NOT be used in the Content-Encoding header. ...
... HTTP/1.1 uses transfer-coding values in the TE header field (section 14.39) and in the Transfer-Encoding header field ...
... header field (section 14.39) and in the Transfer-Encoding header field (section 14.41). ...
... transfer it as a series of chunks, each with its own size indicator, followed by an OPTIONAL trailer containing entity-header fields. This allows dynamically produced content to be transferred along with the information necessary for the recipient to verify that it has ...
... entity-header ...
... The trailer allows the sender to include additional HTTP header fields at the end of the message. The Trailer header field can be used to indicate which header fields ...
... The trailer allows the sender to include additional HTTP header fields at the end of the message. The Trailer header field can be used to indicate which header fields are included in a trailer (see ...
... HTTP header fields at the end of the message. The Trailer header field can be used to indicate which header fields are included in a trailer (see section 14.40). ...
... A server using chunked transfer-coding in a response MUST NOT use the trailer for any header fields unless at least one of the following is true: ...
... a)the request included a TE header field that indicates "trailers" is acceptable in the transfer-coding of the response, as described in section 14.39; or, ...
... 17] in the Content-Type (section 14.17) and Accept (section 14.1) header fields in order to provide open and extensible data typing and type negotiation. ...
... CRLF within any of the HTTP control structures (such as header fields and multipart boundaries). ...
... MIME user agent would upon receipt of a multipart type. The MIME header fields within each body-part of a multipart message- body do not have any significance to HTTP beyond that defined by ...
... 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. The definition of how they are used and compared as cache validators is in section 13.3.3. An ...
... Range (section 14.35) and Content-Range (section 14.16) header fields. An entity can be broken down into subranges according to various structural units. ...


... of the message). Both types of message consist of a start-line, zero or more header fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF ...
... start-line, zero or more header fields (also known as "headers"), an empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the ...
... a line with nothing preceding the CRLF) indicating the end of the header fields, and possibly a message-body. ...
... message-header ...
... Message Headers ...
... HTTP header fields, which include general-header (section 4.5), request-header ...
... HTTP header fields, which include general-header (section 4.5), request-header (section 5.3), response-header ...
... HTTP header fields, which include general-header (section 4.5), request-header (section 5.3), response-header (section 6.2), and entity ...
... header (section 4.5), request-header (section 5.3), response-header (section 6.2), and entity-header ...
... header (section 6.2), and entity-header (section 7.1) fields, follow the same generic format as that given in Section 3.1 of RFC 822std11(-> 2822prop) [9 ...
... that given in Section 3.1 of RFC 822std11(-> 2822prop) [9]. Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive ...
... case-insensitive. The field value MAY be preceded by any amount of LWS, though a single SP is preferred. Header fields can be extended over multiple lines by preceding each extra line with at least one SP ...
... The order in which header fields with differing field names are received is not significant. However, it is "good practice" to send general-header fields ...
... header fields with differing field names are received is not significant. However, it is "good practice" to send general-header fields first, followed by request-header or response- header fields ...
... received is not significant. However, it is "good practice" to send general-header fields first, followed by request-header or response- header fields, and ending with the entity ...
... header fields first, followed by request-header or response- header fields, and ending with the entity-header fields. ...
... header fields, and ending with the entity-header fields. ...
... Multiple message-header fields with the same field-name MAY be present in a message if and only if the entire field-value for that ...
... field-name MAY be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e., #(values)]. It MUST be possible to combine the multiple header fields into one ...
... header field is defined as a comma-separated list [i.e., #(values)]. It MUST be possible to combine the multiple header fields into one "field-name: field-value" pair, without changing the semantics ...
... semantics of the message, by appending each subsequent field-value to the first, each separated by a comma. The order in which header fields with the same field-name are received is therefore significant to the ...
... entity-body only when a transfer-coding has been applied, as indicated by the Transfer-Encoding header field (section 14.41). ...
... inclusion of a Content-Length or Transfer-Encoding header field in the request's message-headers. A message-body ...
... Transfer-Encoding header field in the request's message-headers. A message-body MUST NOT be included in a request if the specification of the request method ...
... message-body, even though the presence of entity- header fields might lead one to believe they do. All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body ...
... as the 1xx, 204, and 304 responses and any response to a HEAD request) is always terminated by the first empty line after the header fields, regardless of the entity-header fields present in ...
... header fields, regardless of the entity-header fields present in the message. ...
... If a Transfer-Encoding header field (section 14.41) is present and has any value other than "identity", then the transfer-length is ...
... If a Content-Length header field (section 14.13) is present, its decimal value in OCTETs represents both the entity-length and the ...
... entity-length and the transfer-length. The Content-Length header field MUST NOT be sent if these two lengths are different (i.e., if a Transfer-Encoding ...
... if these two lengths are different (i.e., if a Transfer-Encoding header field is present). If a message is received with both a Transfer-Encoding header field ...
... header field is present). If a message is received with both a Transfer-Encoding header field and a Content-Length header field, ...
... Transfer-Encoding header field and a Content-Length header field, the latter MUST be ignored. ...
... sender knows that the recipient can arse it; the presence in a request of a Range header with ultiple byte- range specifiers from a 1.1 client ...
... A range header might be forwarded by a 1.0 proxy that does not understand multipart/byteranges; in this case the server MUST ...
... message-body MUST include a valid Content-Length header field unless the server is known to be HTTP/1.1 compliant. If a request contains a message-body ...
... Messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding. If the message does include a non- ...
... General Header Fields ...
... There are a few header fields which have general applicability for both request and response messages, but which do not apply to the ...
... request and response messages, but which do not apply to the entity being transferred. These header fields apply only to the message being transmitted. ...
... General-header field names can be extended reliably only in combination with a change in the protocol version. However, new or ...
... version. However, new or experimental header fields may be given the semantics of general header fields ...
... header fields may be given the semantics of general header fields if all parties in the communication recognize them to be general-header fields. Unrecognized header fields ...
... header fields if all parties in the communication recognize them to be general-header fields. Unrecognized header fields are treated as entity ...
... header fields if all parties in the communication recognize them to be general-header fields. Unrecognized header fields are treated as entity-header fields ...
... header fields are treated as entity-header fields. ...


... general-header ...
... request-header ...
... entity-header ...
... The list of methods allowed by a resource can be specified in an Allow header field (section 14.7). The return code of the response always notifies the client ...
... authority) MUST be transmitted in a Host header field. For example, a client wishing to retrieve the resource above directly from the origin server would ...
... examining both the Request-URI and the Host header field. ...
... requested host MAY ignore the Host header field value when determining the resource identified by an HTTP/1.1 request. (But see ...
... Request-URI. Any Host header field value in the request MUST be ignored. ...
... Request-URI is not an absoluteURI, and the request includes a Host header field, the host is determined by the Host header field ...
... header field, the host is determined by the Host header field value. ...
... Recipients of an HTTP/1.0 request that lacks a Host header field MAY attempt to use heuristics (e.g., examination of the URI ...
... Request Header Fields ...
... The request-header fields allow the client to pass additional information about the request, and about the client ...
... Request-header field names can be extended reliably only in combination with a change in the protocol version. However, new or ...
... version. However, new or experimental header fields MAY be given the semantics of request- header fields ...
... header fields MAY be given the semantics of request- header fields if all parties in the communication recognize them to be request-header fields. Unrecognized header fields ...
... header fields if all parties in the communication recognize them to be request-header fields. Unrecognized header fields are treated as entity ...
... header fields if all parties in the communication recognize them to be request-header fields. Unrecognized header fields are treated as entity-header fields ...
... header fields are treated as entity-header fields. ...


... general-header ...
... response-header ...
... entity-header ...
... Response Header Fields ...
... The response-header fields allow the server to pass additional information about the response which cannot be placed in the Status- Line. These header fields ...
... header fields allow the server to pass additional information about the response which cannot be placed in the Status- Line. These header fields give information about the server and about further access to the resource identified by the Request-URI. ...
... Response-header field names can be extended reliably only in combination with a change in the protocol version. However, new or ...
... version. However, new or experimental header fields MAY be given the semantics of response- header fields ...
... header fields MAY be given the semantics of response- header fields if all parties in the communication recognize them to be response-header fields. Unrecognized header fields ...
... header fields if all parties in the communication recognize them to be response-header fields. Unrecognized header fields are treated as entity ...
... header fields if all parties in the communication recognize them to be response-header fields. Unrecognized header fields are treated as entity-header fields ...
... header fields are treated as entity-header fields. ...


... entity consists of entity-header fields and an entity-body, although some responses will only include the entity ...
... entity-body, although some responses will only include the entity-headers. ...
... Entity Header Fields ...
... Entity-header fields define metainformation about the entity-body or, if no body is present, about the resource identified by the request. ...
... extension-header ...
... message-header ...
... The extension-header mechanism allows additional entity-header fields ...
... The extension-header mechanism allows additional entity-header fields to be defined without changing the protocol, but these fields cannot be assumed to be recognizable by the recipient. Unrecognized header fields ...
... header fields to be defined without changing the protocol, but these fields cannot be assumed to be recognizable by the recipient. Unrecognized header fields SHOULD be ignored by the recipient and MUST be forwarded by transparent proxies. ...
... a format and encoding defined by the entity-header fields. ...
... entity-body is included with a message, the data type of that body is determined via the header fields Content-Type and Content- Encoding ...
... entity-body SHOULD include a Content-Type header field defining the media type of that body. If and only if the media type ...


... signaling takes place using the Connection header field (section 14.10). Once a close has been signaled, the client MUST NOT send any more requests on that ...
... maintain a persistent connection unless a Connection header including the connection-token ...
... connection immediately after sending the response, it SHOULD send a Connection header including the connection-token ...
... decide to keep it open based on whether the response from a server contains a Connection header with the connection-token close. In case ...
... connection for more than that request, it SHOULD send a Connection header including the connection-token ...
... token in the Connection header, that request becomes the last one for the connection. ...
... proxies correctly implement the properties of the Connection header field as specified in section 14.10. ...
... discussion of the problems with the Keep-Alive header implemented by many HTTP/1.0 clients ...
... empty trailer MAY be used to prematurely mark the end of the message. If the body was preceded by a Content-Length header, the client MUST close the connection ...
... request message with a request body to determine if the origin server is willing to accept the request (based on the request headers) before the client sends the request body. In some cases, it might either be inappropriate or highly ...
... If a client will wait for a 100 (Continue) response before sending the request body, it MUST send an Expect request-header field (section 14.20) with the "100-continue" expectation. ...
... A client MUST NOT send an Expect request-header field (section 14.20) with the "100-continue" expectation if it does not intend to send a request body. ...
... or a 100 (Continue) status. Therefore, when a client sends this header field to an origin server (possibly via a proxy) from which it has never seen a 100 (Continue) status, the client ...
... Upon receiving a request which includes an Expect request-header field with the "100-continue" expectation, an origin server MUST either respond with 100 (Continue) status and continue to read ...
... An origin server SHOULD NOT send a 100 (Continue) response if the request message does not include an Expect request-header field with the "100-continue" expectation, and MUST NOT send a 100 (Continue) response if such a request comes from an HTTP/1.0 ...
... status in response to an HTTP/1.1 PUT or POST request that does not include an Expect request-header field with the "100- continue" expectation. This exception, the purpose of which is to minimize any client ...
... If an origin server receives a request that does not include an Expect request-header field with the "100-continue" expectation, the request includes a request body, and the server responds with a final status code ...
... If a proxy receives a request that includes an Expect request- header field with the "100-continue" expectation, and the proxy either knows that the next-hop ...
... version of the next-hop server, it MUST forward the request, including the Expect header field. ...
... HTTP/1.0 (or earlier) client and did not include an Expect request-header field with the "100-continue" expectation. This requirement overrides the ...
... HTTP/1.1 client sends a request which includes a request body, but which does not include an Expect request-header field with the "100-continue" expectation, and if the client is not directly ...
... Transmit the request-headers ...


... The Host request-header field (section 14.23) MUST accompany all HTTP/1.1 requests. ...
... A 200 response SHOULD include any header fields that indicate optional features implemented by the server and applicable to that ...
... The Max-Forwards request-header field MAY be used to target a specific proxy ...
... request message includes an If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. A conditional GET method requests that the entity be transferred only under the ...
... GET method requests that the entity be transferred only under the circumstances described by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network ...
... request message includes a Range header field. A partial GET requests that only part of the entity be transferred, as described in section ...
... return a message-body in the response. The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the information sent in response to a GET request. This method ...
... entity which describes the status of the request and refers to the new resource, and a Location header (see section 14.30). ...
... method are not cacheable, unless the response includes appropriate Cache-Control or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent to ...
... entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not understand or implement and MUST return a 501 (Not Implemented) response in such cases. ...
... Unless otherwise specified for a particular entity-header, the entity-headers ...
... header, the entity-headers in the PUT request SHOULD be applied to the resource created or modified by the PUT. ...
... client to see what is being received at the other end of the request chain and use that data for testing or diagnostic information. The value of the Via header field (section 14.45) is of particular interest, since it acts as a trace of the request chain. ...
... particular interest, since it acts as a trace of the request chain. Use of the Max-Forwards header field allows the client to limit the length of the request chain, which is useful for testing a chain of ...


... class of status code indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line. There are no required headers for this ...
... consisting only of the Status-Line and optional headers, and is terminated by an empty line. There are no required headers for this class of status code ...
... The server understands and is willing to comply with the client's request, via the Upgrade message header field (section 14.42), for a change in the application protocol being used on this connection ...
... server will switch protocols to those defined by the response's Upgrade header field immediately after the empty line which terminates the 101 response. ...
... the entity-header fields corresponding to the requested resource are sent in the response without any message-body; ...
... entity of the response, with the most specific URI for the resource given by a Location header field. ...
... the media type given in the Content-Type header field. The origin server MUST create the resource before returning the 201 status code ...
... A 201 response MAY contain an ETag response header field indicating the current value of the entity tag ...
... The returned metainformation in the entity-header is not the definitive set as available from the origin server, but is gathered from a local or a third-party ...
... response MAY include new or updated metainformation in the form of entity-headers, which if present SHOULD be associated with the requested variant. ...
... The 204 response MUST NOT include a message-body, and thus is always terminated by the first empty line after the header fields. ...
... The server has fulfilled the partial GET request for the resource. The request MUST have included a Range header field (section 14.35) indicating the desired range, and MAY have included an If-Range ...
... range, and MAY have included an If-Range header field (section 14.27) to make the request conditional. ...
... The response MUST include the following header fields: ...
... Either a Content-Range header field (section 14.16) indicating the range included with this response, or a multipart/byteranges ...
... Range fields for each part. If a Content-Length header field is present in the response, its value MUST match the actual number of OCTETs transmitted in the message-body ...
... ETag and/or Content-Location, if the header would have been sent in a 200 response to the same request ...
... cache validator (see section 13.3.3), the response SHOULD NOT include other entity-headers. If the response is the result of an If-Range request that used a weak validator, the response MUST NOT ...
... Range request that used a weak validator, the response MUST NOT include other entity-headers; this prevents inconsistencies between cached entity-bodies and updated headers ...
... headers; this prevents inconsistencies between cached entity-bodies and updated headers. Otherwise, the response MUST include all of the entity-headers ...
... headers. Otherwise, the response MUST include all of the entity-headers that would have been returned with a 200 (OK) response to the same request. ...
... A cache MUST NOT combine a 206 response with other previously cached content if the ETag or Last-Modified headers do not match exactly, see 13.5.4. ...
... cache that does not support the Range and Content-Range headers MUST NOT cache 206 (Partial) responses. ...
... entity format is specified by the media type given in the Content- Type header field. Depending upon the format and the capabilities of ...
... Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field. ...
... message-body, and thus is always terminated by the first empty line after the header fields. ...
... The response MUST include the following header fields: ...
... ETag and/or Content-Location, if the header would have been sent in a 200 response to the same request ...
... cache validator (see section 13.3.3), the response SHOULD NOT include other entity-headers. Otherwise (i.e., the conditional GET used a weak validator), the response MUST NOT include other entity ...
... Otherwise (i.e., the conditional GET used a weak validator), the response MUST NOT include other entity-headers; this prevents inconsistencies between cached entity-bodies and updated headers ...
... headers; this prevents inconsistencies between cached entity-bodies and updated headers. ...
... Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field. ...
... user authentication. The response MUST include a WWW-Authenticate header field (section 14.47) containing a challenge applicable to the requested resource. ...
... client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials ...
... resource identified by the Request-URI. The response MUST include an Allow header containing a list of valid methods for the requested ...
... The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request. ...
... media type given in the Content-Type header field. Depending upon the format and the capabilities of the user agent, selection of the most appropriate ...
... Note: HTTP/1.1 servers are allowed to return responses which are not acceptable according to the accept headers sent in the request. In some cases, this may even be preferable to sending a 406 response. User agents ...
... request. In some cases, this may even be preferable to sending a 406 response. User agents are encouraged to inspect the headers of an incoming response to determine if it is acceptable. ...
... return a Proxy-Authenticate header field (section 14.33) containing a challenge applicable to the proxy for the requested resource. ...
... Proxy-Authorization header field (section 14.34). HTTP access authentication is explained in "HTTP Authentication ...
... valid Content-Length header field containing the length of the message-body in the request message ...
... The precondition given in one or more of the request-header fields evaluated to false when it was tested on the server. This response code allows the client ...
... response code allows the client to place preconditions on the current resource metainformation (header field data) and thus prevent the requested method from being applied to a resource other than the one intended. ...
... If the condition is temporary, the server SHOULD include a Retry- After header field to indicate that it is temporary and after what time the client MAY try again. ...
... status code if a request included a Range request-header field (section 14.35), and none of the range-specifier values in this field overlap the current extent ...
... of the selected resource, and the request did not include an If-Range request-header field. (For byte-ranges, this means that the first- byte-pos of all of the byte-range ...
... response SHOULD include a Content-Range entity-header field specifying the current length of the selected resource (see section 14.16). This response MUST NOT use the multipart/byteranges content- ...
... The expectation given in an Expect request-header field (see section 14.20) could not be met by this server, or, if the server is a proxy, ...
... some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD ...


... the response (the dimensions over which it can vary; e.g. language, content-coding, etc.) and the contents of particular header fields in the request message or on other information pertaining to the request ...
... guess" is good enough for the user). In order to improve the server's guess, the user agent MAY include request header fields (Accept, Accept-Language, Accept-Encoding ...
... HTTP/1.1 includes the following request-header fields for enabling server-driven negotiation through description of user agent ...
... origin server is not limited to these dimensions and MAY vary the response based on any aspect of the request, including information outside the request-header fields or within extension header fields not defined by this specification. ...
... response based on any aspect of the request, including information outside the request-header fields or within extension header fields not defined by this specification. ...
... The Vary header field can be used to express the parameters the server uses to select a representation that is subject to server- ...
... subject to server- driven negotiation. See section 13.6 for use of the Vary header field by caches and section 14.44 for use of the Vary header field ...
... header field by caches and section 14.44 for use of the Vary header field by servers. ...
... initial response from the origin server. Selection is based on a list of the available representations of the response included within the header fields or entity-body of the initial response, with each representation identified by its own URI ...


... HTTP separately from the detailed descriptions of methods, headers, response codes, etc. ...
... cache MAY still return the response with the appropriate Warning header (see section 13.1.5 and 14.46), unless such a response is prohibited (e.g., by a "no-store" cache-directive, or by a ...
... client without adding a new Warning (but without removing any existing Warning headers). A cache SHOULD NOT attempt to revalidate a response simply because that ...
... cache returns a response that is neither first-hand nor "fresh enough" (in the sense of condition 2 in section 13.1.1), it MUST attach a warning to that effect, using a Warning general-header. The Warning header and the currently defined warnings are described ...
... MUST attach a warning to that effect, using a Warning general-header. The Warning header and the currently defined warnings are described in section 14.46. The warning allows clients to take appropriate ...
... entity body or entity headers that is not rectified by a revalidation (for example, a lossy compression of the entity ...
... language (perhaps based on the client's Accept headers), and include an OPTIONAL indication of what character set is used. ...
... HTTP caches. We use the Cache-Control header for this purpose. ...
... The Cache-Control header allows a client or server to transmit a variety of directives in either requests or responses. These ...
... directives typically override the default caching algorithms. As a general rule, if there is any apparent conflict between header values, the most restrictive interpretation is applied (that is, the one that is most likely to preserve semantic transparency). However, ...
... connected to the origin server. Whenever a cache returns a stale response, it MUST mark it as such (using a Warning header) enabling the client software to alert ...
... Clients do this using several directives of the Cache-Control header. ...
... Servers specify explicit expiration times using either the Expires header, or the max-age directive of the Cache-Control header. ...
... header, or the max-age directive of the Cache-Control header. ...
... heuristic expiration times, employing algorithms that use other header values (such as the Last-Modified time) to estimate a plausible expiration time. The HTTP/1.1 ...
... HTTP/1.1 requires origin servers to send a Date header, if possible, with every response, giving the time at which the response was generated (see section 14.18). We use the term "date_value" to denote ...
... with every response, giving the time at which the response was generated (see section 14.18). We use the term "date_value" to denote the value of the Date header, in a form appropriate for arithmetic operations. ...
... HTTP/1.1 uses the Age response-header to convey the estimated age of the response message when obtained from a cache ...
... We use the term "age_value" to denote the value of the Age header, in a form appropriate for arithmetic operations. ...
... /* * age_value * is the value of Age: header received by the cache with * this response. ...
... * this response. * date_value * is the value of the origin server's Date: header * request_time * is the (local) time when the cache ...
... cache entry, the cache MUST include a single Age header field in the response with a value equal to the cache entry's current_age. ...
... The presence of an Age header field in a response implies that a response is not first-hand. However, the converse is not true, since the lack of an Age header field ...
... header field in a response implies that a response is not first-hand. However, the converse is not true, since the lack of an Age header field in a response does not imply that the ...
... HTTP caches did not implement the Age header field). ...
... We use the term "expires_value" to denote the value of the Expires header. We use the term "max_age_value" to denote an appropriate value of the number of seconds carried by the "max-age" directive of the Cache-Control ...
... value of the number of seconds carried by the "max-age" directive of the Cache-Control header in a response (see section 14.9.3). ...
... for a request that was already fresh in its own cache, and the Date header in its existing cache entry is newer than the Date on the new response, then the client ...
... cache has two fresh responses for the same representation with different validators, it MUST use the one with the more recent Date header. This situation might arise because the cache is pooling responses from other caches ...
... client tries to revalidate a cache entry, and the response it receives contains a Date header that appears to be older than the one for the existing entry, then the client SHOULD repeat the request ...
... HTTP/1.1, a conditional request looks exactly the same as a normal request for the same resource, except that it carries a special header (which includes the validator) that implicitly turns the method (usually, GET) into a conditional. ...
... The Last-Modified entity-header field value is often used as a cache validator. In simple terms, a cache ...
... The ETag response-header field value, an entity tag, provides for an ...
... Entity Tags are described in section 3.11. The headers used with entity tags ...
... entity-body or any entity- headers) changes in any way, then the associated validator would change as well. If this is true, then we call this validator a "strong validator." ...
... A "use" of a validator is either when a client generates a request and includes the validator in a validating header field, or when a server compares two validators. ...
... The validator is about to be used by a client in an If- Modified-Since or If-Unmodified-Since header, because the client has a cache ...
... unless the risk of a breakdown in semantic transparency that could result from using this date in an If-Modified-Since header would lead to serious problems. ...
... receiving a conditional request that includes both a Last-Modified date (e.g., in an If-Modified-Since or If-Unmodified-Since header field) and one or more entity tags (e.g., ...
... tags (e.g., in an If-Match, If-None-Match, or If-Range header field) as cache validators, MUST NOT return a response status of 304 (Not Modified) ...
... cache validators, MUST NOT return a response status of 304 (Not Modified) unless doing so is consistent with all of the conditional header fields in the request. ...
... client unless that cached response is consistent with all of the conditional header fields in the request. ...
... validator comparison function more complex than byte-equality would open up a can of worms. Thus, comparisons of any other headers (except Last-Modified, for compatibility with HTTP/1.0 ...
... that such a response was taken from a cache by comparing the Date header to the current time. ...
... the Range and Content-Range headers MUST NOT cache 206 (Partial Content) responses. ...
... and 307) MUST NOT be returned in a reply to a subsequent request unless there are cache-control directives or another header(s) that explicitly allow it. For example, these include the following: an Expires header ...
... header(s) that explicitly allow it. For example, these include the following: an Expires header (section 14.21); a "max-age", "s-maxage", "must- revalidate", "proxy-revalidate", "public" or "private" cache-control ...
... End-to-end and Hop-by-hop Headers ...
... For the purpose of defining the behavior of caches and non-caching proxies, we divide HTTP headers into two categories: ...
... End-to-end headers, which are transmitted to the ultimate recipient of a request or response. End-to-end headers ...
... headers, which are transmitted to the ultimate recipient of a request or response. End-to-end headers in responses MUST be stored as part of a cache entry and MUST be ...
... Hop-by-hop headers, which are meaningful only for a single transport-level connection ...
... The following HTTP/1.1 headers are hop-by-hop headers: ...
... The following HTTP/1.1 headers are hop-by-hop headers: ...
... All other headers defined by HTTP/1.1 are end-to-end headers ...
... headers defined by HTTP/1.1 are end-to-end headers. ...
... Other hop-by-hop headers MUST be listed in a Connection header, ...
... Other hop-by-hop headers MUST be listed in a Connection header, (section 14.10) to be introduced into HTTP/1.1 (or later). ...
... Non-modifiable Headers ...
... HTTP/1.1 protocol, such as Digest Authentication, depend on the value of certain end-to-end headers. A transparent proxy SHOULD NOT modify an end-to-end ...
... transparent proxy SHOULD NOT modify an end-to-end header unless the definition of that header requires or specifically allows that. ...
... end-to-end header unless the definition of that header requires or specifically allows that. ...
... but it MAY add any of these fields if not already present. If an Expires header is added, it MUST be given a field-value identical to that of the Date header in that response. ...
... Expires header is added, it MUST be given a field-value identical to that of the Date header in that response. ...
... Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication ...
... HTTP. Such authentication mechanisms MAY rely on the values of header fields not listed here. ...
... Combining Headers ...
... response. If the status code is 206 (Partial Content) and the ETag or Last-Modified headers match exactly, the cache MAY combine the contents stored in the cache ...
... The end-to-end headers stored in the cache entry are used for the constructed response, except that ...
... any stored Warning headers with warn-code 1xx (see section 14.46) MUST be deleted from the cache ...
... any stored Warning headers with warn-code 2xx MUST be retained in the cache entry and the forwarded response. ...
... any end-to-end headers provided in the 304 or 206 response MUST replace the corresponding headers from the cache ...
... end-to-end headers provided in the 304 or 206 response MUST replace the corresponding headers from the cache entry. ...
... cache entry, it MUST also replace the end-to-end headers stored with the cache entry with corresponding headers ...
... headers stored with the cache entry with corresponding headers received in the incoming response, except for Warning headers as described immediately above. If a header field ...
... corresponding headers received in the incoming response, except for Warning headers as described immediately above. If a header field- name in the incoming response matches more than one header ...
... headers received in the incoming response, except for Warning headers as described immediately above. If a header field- name in the incoming response matches more than one header in the ...
... headers as described immediately above. If a header field- name in the incoming response matches more than one header in the cache entry, all such old headers ...
... header in the cache entry, all such old headers MUST be replaced. ...
... In other words, the set of end-to-end headers received in the incoming response overrides all corresponding end-to-end headers ...
... headers received in the incoming response overrides all corresponding end-to-end headers stored with the cache entry (except for stored Warning headers ...
... headers stored with the cache entry (except for stored Warning headers with warn-code 1xx, which are deleted even if not overridden). ...
... Note: this rule allows an origin server to use a 304 (Not Modified) or a 206 (Partial Content) response to update any header associated with a previous response for the same entity or sub- ...
... a 304 (Not Modified) or a 206 (Partial Content) response to entirely delete a header that it had provided with a previous response. ...
... Use of server-driven content negotiation (section 12.1), as indicated by the presence of a Vary header field in a response, alters the conditions and procedure by which a cache can use the response for ...
... conditions and procedure by which a cache can use the response for subsequent requests. See section 14.44 for use of the Vary header field by servers. ...
... A server SHOULD use the Vary header field to inform a cache of what request-header ...
... header field to inform a cache of what request-header fields were used to select among multiple representations of a cacheable response subject to server-driven ...
... subject to server-driven negotiation. The set of header fields named by the Vary field value is known as the "selecting" request-headers. ...
... negotiation. The set of header fields named by the Vary field value is known as the "selecting" request-headers. ...
... Request-URI specifies one or more cache entries including a Vary header field, the cache MUST NOT use such a cache ...
... cache MUST NOT use such a cache entry to construct a response to the new request unless all of the selecting request-headers present in the new request match the corresponding stored request-headers in ...
... the new request unless all of the selecting request-headers present in the new request match the corresponding stored request-headers in the original request. ...
... The selecting request-headers from two requests are defined to match if and only if the selecting request-headers in the first request can ...
... The selecting request-headers from two requests are defined to match if and only if the selecting request-headers in the first request can be transformed to the selecting request-headers in the second request ...
... if and only if the selecting request-headers in the first request can be transformed to the selecting request-headers in the second request by adding or removing linear white space (LWS) at places where this ...
... is allowed by the corresponding BNF, and/or combining multiple message-header fields with the same field name following the rules about message headers in section 4.2. ...
... message-header fields with the same field name following the rules about message headers in section 4.2. ...
... A Vary header field-value of "*" always fails to match and subsequent requests on that resource can only be properly interpreted by the origin server. ...
... If the selecting request header fields for the cached entry do not match the selecting request header fields of the new request, then ...
... If the selecting request header fields for the cached entry do not match the selecting request header fields of the new request, then the cache MUST NOT use a cached entry to satisfy the request unless ...
... entity tags in an If-None-Match header field from all its cache entries for the resource. This conveys to the server the set of entities currently ...
... cache, so that if any one of these entities matches the requested entity, the server can use the ETag header field in its 304 (Not Modified) response to tell the cache which entry is appropriate. ...
... tag of the new response matches that of an existing entry, the new response SHOULD be used to update the header fields of the existing entry, and the result MUST be returned to the client. ...
... entity-tag SHOULD NOT be included in the If-None-Match header field unless the request is for a range that would be fully satisfied by that entry. ...
... cache that receives an incomplete response (for example, with fewer bytes of data than specified in a Content-Length header) MAY store the response. However, the cache MUST treat this as a partial ...
... Request-URI, or by the Location or Content-Location headers (if present). These methods are: ...
... on the URI in a Location or Content-Location header MUST only be performed if the host part is the same as in the Request-URI ...
... Note: a new response that has an older Date header value than existing cached responses is not cacheable. ...


... Header Field Definitions ...
... syntax and semantics of all standard HTTP/1.1 header fields. For entity-header fields, both sender ...
... HTTP/1.1 header fields. For entity-header fields, both sender and recipient refer to either the client or the server, depending on who ...
... The Accept request-header field can be used to specify certain media types which are acceptable for the response. Accept headers can be ...
... The Accept request-header field can be used to specify certain media types which are acceptable for the response. Accept headers can be used to indicate that the request is specifically limited to a small set of desired types, as in the case of a request for an in-line ...
... If no Accept header field is present, then it is assumed that the client accepts all media types ...
... client accepts all media types. If an Accept header field is present, and if the server cannot send a response which is acceptable according to the combined Accept field value, then the server SHOULD ...
... The Accept-Charset request-header field can be used to indicate what character sets are acceptable for the response. This field allows ...
... If no Accept-Charset header is present, the default is that any character set is acceptable. If an Accept-Charset ...
... character set is acceptable. If an Accept-Charset header is present, and if the server cannot send a response which is acceptable according to the Accept-Charset ...
... and if the server cannot send a response which is acceptable according to the Accept-Charset header, then the server SHOULD send an error response with the 406 (not acceptable) status code ...
... The Accept-Encoding request-header field is similar to Accept, but restricts the content-codings (section 3.5) that are acceptable in the response. ...
... The special "*" symbol in an Accept-Encoding field matches any available content-coding not explicitly listed in the header field. ...
... Encoding field is present in a request, and if the server cannot send a response which is acceptable according to the Accept-Encoding header, then the server SHOULD send an error response with the 406 (Not Acceptable) status code ...
... The Accept-Language request-header field is similar to Accept, but restricts the set of natural languages that are preferred as a ...
... language quality factor assigned is 0. If no Accept-Language header is present in the request, the server SHOULD assume that all languages ...
... languages are equally acceptable. If an Accept-Language header is present, then all languages which are assigned a quality factor greater than 0 are acceptable. ...
... privacy expectations of the user to send an Accept-Language header with the complete linguistic preferences of the user in every request. For a discussion of this issue, see ...
... preference available to the user. If the choice is not made available, then the Accept-Language header field MUST NOT be given in the request. ...
... The Accept-Ranges response-header field allows the server to indicate its acceptance of range requests for a resource: ...
... but are not required to do so. Clients MAY generate byte-range requests without having received this header for the resource involved. Range units are defined in section 3.12. ...
... The Age response-header field conveys the sender's estimate of the amount of time since the response (or its revalidation) was ...
... integer it can represent, or if any of its age calculations overflows, it MUST transmit an Age header with a value of 2147483648 (2^31). An HTTP/1.1 server that includes a cache ...
... HTTP/1.1 server that includes a cache MUST include an Age header field in every response generated from its own cache. Caches ...
... The Allow entity-header field lists the set of methods supported by the resource identified by the Request-URI ...
... valid methods associated with the resource. An Allow header field MUST be present in a 405 (Method Not Allowed) response. ...
... client from trying other methods. However, the indications given by the Allow header field value SHOULD be followed. The actual set of allowed methods is defined ...
... The Allow header field MAY be provided with a PUT request to recommend the methods to be supported by the new or modified ...
... resource. The server is not required to support these methods and SHOULD include an Allow header in the response giving the actual supported methods. ...
... A proxy MUST NOT modify the Allow header field even if it does not understand all the methods specified, since the user agent ...
... receiving a 401 response--does so by including an Authorization request-header field with the request. The Authorization field value consists of credentials ...
... proxy cache MUST first revalidate it with the origin server, using the request-headers from the new request to allow the origin server to authenticate the new request. (This is the ...
... caches MUST first revalidate it with the origin server, using the request-headers from the new request to allow the origin server to authenticate the new request. ...
... The Cache-Control general-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response ...
... versions of the HTTP protocol might apply these directives to header fields not defined in HTTP/1.1. ...
... requirements of the request method, request header fields, and the response status indicate that it is cacheable. Section 13.4 summarizes these defaults for cacheability. The following Cache-Control ...
... subsequent request without successful revalidation with the origin server. This allows an origin server to prevent the re-use of certain header fields in a response, while still allowing caching of the rest of the response. ...
... The expiration time of an entity MAY be specified by the origin server using the Expires header (see section 14.21). Alternatively, it MAY be specified using the max-age directive in a response. When the max-age cache-control ...
... If a response includes both an Expires header and a max-age directive, the max-age directive overrides the Expires header, even ...
... If a response includes both an Expires header and a max-age directive, the max-age directive overrides the Expires header, even if the Expires header is more restrictive. This rule allows an origin ...
... directive, the max-age directive overrides the Expires header, even if the Expires header is more restrictive. This rule allows an origin server to provide, for a given response, a longer expiration time to an HTTP/1.1 ...
... cache receives such a response, and the response does not include a Cache-Control header field, it SHOULD consider the response to be non-cacheable in order to retain compatibility with HTTP/1.0 ...
... cache), the maximum age specified by this directive overrides the maximum age specified by either the max-age directive or the Expires header. The s-maxage directive also implies the semantics of the proxy ...
... cache MAY exploit the requirement that the max-age directive overrides the Expires header, and the fact that pre-HTTP/1.1-compliant caches ...
... override the expiration time of a response, the cache MUST attach a Warning header to the stale response, using Warning 110 (Response is stale). ...
... intermediate cache or proxy MUST NOT change those headers that are listed in section 13.5.2 as being subject to the no-transform ...
... proxy MUST NOT change any aspect of the entity-body that is specified by these headers, including the value of the entity-body itself. ...
... The Cache-Control header field can be extended through the use of one or more cache-extension tokens ...
... A cache seeing this header field will act correctly even if the cache does not understand the community cache ...
... The Connection general-header field allows the sender to specify options that are desired for that particular connection ...
... The Connection header has the following grammar: ...
... HTTP/1.1 proxies MUST parse the Connection header field before a message is forwarded and, for each connection-token ...
... token in this field, remove any header field(s) from the message with the same name as the connection-token ...
... connection-token in the Connection header field, not by any corresponding additional header field(s), since the additional header ...
... Connection header field, not by any corresponding additional header field(s), since the additional header field may not be sent if there are no parameters associated with that ...
... header field, not by any corresponding additional header field(s), since the additional header field may not be sent if there are no parameters associated with that connection ...
... Message headers listed in the Connection header MUST NOT include ...
... Message headers listed in the Connection header MUST NOT include end-to-end headers ...
... header MUST NOT include end-to-end headers, such as Cache-Control. ...
... in either the request or the response header fields indicates that the connection SHOULD NOT be considered `persistent' (section 8.1) ...
... version) message that includes a Connection header MUST, for each connection-token in this ...
... token in this field, remove and ignore any header field(s) from the message with the same name as the connection-token ...
... connection-token. This protects against mistaken forwarding of such header fields by pre-HTTP/1.1 proxies. See section ...
... The Content-Encoding entity-header field is used as a modifier to the media-type. When present, its value indicates what additional content ...
... media-type referenced by the Content-Type header field. Content-Encoding is primarily used to allow a document to be compressed without losing ...
... response MUST include a Content-Encoding entity-header (section 14.11) that lists the non-identity content-coding(s) used. ...
... encoding parameters MAY be provided by other entity-header fields not defined by this specification. ...
... The Content-Language entity-header field describes the natural language(s) of the intended audience for the enclosed entity ...
... The Content-Length entity-header field indicates the size of the entity-body, in decimal number of OCTETs, sent to the recipient or, ...
... The Content-Location entity-header field MAY be used to supply the resource location for the entity enclosed in the message when that ...
... The meaning of the Content-Location header in PUT or POST requests is undefined; servers are free to ignore it in those cases. ...
... The Content-MD5 entity-header field, as defined in RFC 1864draft [23], is ...
... The Content-MD5 header field MAY be generated by an origin server or client to function as an integrity ...
... origin servers or clients MAY generate the Content-MD5 header field; proxies and gateways ...
... gateways and proxies, MAY check that the digest value in this header field matches that of the entity-body as received. ...
... composite types MAY contain many body-parts, each with its own MIME and HTTP headers (including Content-MD5, Content-Transfer-Encoding, and ...
... Content-Transfer-Encoding, and Content-Encoding headers). If a body-part has a Content-Transfer- Encoding or Content-Encoding ...
... Encoding or Content-Encoding header, it is assumed that the content of the body-part has had the encoding applied, and the body-part is ...
... Content-MD5 digest as is -- i.e., after the application. The Transfer-Encoding header field is not allowed within body-parts. ...
... The Content-Range entity-header is sent with a partial entity-body to specify where in the full entity ...
... The header SHOULD indicate the total length of the full entity-body, unless this length is unknown or difficult to determine. The asterisk ...
... ranges that overlap without any holes), this content is transmitted with a Content-Range header, and a Content-Length header ...
... Range header, and a Content-Length header showing the number of bytes actually transferred. For example, ...
... invalid, the server SHOULD treat the request as if the invalid Range header field did not exist. (Normally, this means return a 200 response containing the full entity). ...
... If the server receives a request (other than one including an If- Range request-header field) with an unsatisfiable Range request- header field ...
... request-header field) with an unsatisfiable Range request- header field (that is, all of whose byte-range-spec values have a first-byte-pos value greater than the current length of the selected ...
... range not satisfiable) response instead of a 200 (OK) response for an unsatisfiable Range request-header, since not all servers implement this request-header. ...
... Range request-header, since not all servers implement this request-header. ...
... The Content-Type entity-header field indicates the media type of the entity ...
... The Date general-header field represents the date and time at which the message was originated, having the same semantics as orig-date in ...
... Origin servers MUST include a Date header field in all responses, except in these cases: ...
... If the response status code is 100 (Continue) or 101 (Switching Protocols), the response MAY include a Date header field, at the server's option. ...
... If the server does not have a clock that can provide a reasonable approximation of the current time, its responses MUST NOT include a Date header field. In this case, the rules in section 14.18.1 MUST be followed. ...
... A received message that does not have a Date header field MUST be assigned one by the recipient if the message will be cached by that recipient or gatewayed via a protocol which requires a Date. An HTTP ...
... Clients SHOULD only send a Date header field in messages that include an entity-body, as in the case of the PUT and POST requests, and even ...
... entity-body, as in the case of the PUT and POST requests, and even then it is optional. A client without a clock MUST NOT send a Date header field in a request. ...
... The HTTP-date sent in a Date header SHOULD NOT represent a date and time subsequent to the generation of the message. It SHOULD represent the best available approximation of the date and time of message ...
... The ETag response-header field provides the current value of the entity tag ...
... entity tag for the requested variant. The headers used with entity tags ...
... The Expect request-header field is used to indicate that particular server behaviors are required by the client. ...
... This header field is defined with extensible syntax to allow for future extensions. If a server receives a request containing an Expect field that includes an expectation-extension that it does not ...
... return a 417 (Expectation Failed) status if it receives a request with an expectation that it cannot meet. However, the Expect request-header itself is end-to-end; it MUST be forwarded if the request is forwarded. ...
... HTTP/1.0 and HTTP/1.1 applications do not understand the Expect header. ...
... The Expires entity-header field gives the date/time after which the response is considered stale. A stale cache ...
... To mark a response as "already expired," an origin server sends an Expires date that is equal to the Date header value. (See the rules for expiration calculations in section 13.2.4.) ...
... The presence of an Expires header field with a date value of some time in the future on a response that otherwise would by default be non-cacheable indicates that the response is cacheable, unless ...
... non-cacheable indicates that the response is cacheable, unless indicated otherwise by a Cache-Control header field (section 14.9). ...
... The From request-header field, if given, SHOULD contain an Internet e-mail address ...
... This header field MAY be used for logging purposes and as a means for identifying the source of invalid or unwanted requests. It SHOULD NOT be used as an insecure form of access protection. The interpretation ...
... method performed. In particular, robot agents SHOULD include this header so that the person responsible for running the robot can be contacted if problems occur on the receiving ...
... The client SHOULD NOT send the From header field without the user's approval, as it might conflict with the user's privacy interests or ...
... The Host request-header field specifies the Internet host and port number ...
... A client MUST include a Host header field in all HTTP/1.1 request messages . If the requested URI ...
... host name for the service being requested, then the Host header field MUST be given with an empty value. An HTTP/1.1 proxy ...
... request message it forwards does contain an appropriate Host header field that identifies the service being requested by the proxy. All ...
... HTTP/1.1 request message which lacks a Host header field. ...
... The If-Match request-header field is used with a method to make it conditional. A client ...
... entity tags in the If-Match header field. Entity tags are defined in section 3.11. The ...
... entity that would have been returned in the response to a similar GET request (without the If-Match header) on that resource, or if "*" is given and any current entity exists for that resource, then the server MAY ...
... entity exists for that resource, then the server MAY perform the requested method as if the If-Match header field did not exist. ...
... If the request would, without the If-Match header field, result in anything other than a 2xx or 412 status, then the If-Match header ...
... If the request would, without the If-Match header field, result in anything other than a 2xx or 412 status, then the If-Match header MUST be ignored. ...
... A request intended to update a resource (e.g., a PUT) MAY include an If-Match header field to signal that the request method MUST NOT be applied if the entity ...
... The result of a request having both an If-Match header field and either an If-None-Match or an If-Modified-Since header fields is ...
... The result of a request having both an If-Match header field and either an If-None-Match or an If-Modified-Since header fields is undefined by this specification. ...
... The If-Modified-Since request-header field is used with a method to make it conditional: if the requested variant has not been modified ...
... A GET method with an If-Modified-Since header and no Range header ...
... GET method with an If-Modified-Since header and no Range header requests that the identified entity be transferred only if it has ...
... requests that the identified entity be transferred only if it has been modified since the date given by the If-Modified-Since header. The algorithm for determining this includes the following cases: ...
... Note: The Range request-header field modifies the meaning of If- Modified-Since; see section 14.35 for full details. ...
... Note: When handling an If-Modified-Since header field, some servers will use an exact date comparison function, rather than a ...
... less-than function, for deciding whether to send a 304 (Not Modified) response. To get best results when sending an If- Modified-Since header field for cache validation, clients ...
... clients are advised to use the exact date string received in a previous Last- Modified header field whenever possible. ...
... Note: If a client uses an arbitrary date in the If-Modified-Since header instead of a date taken from the Last-Modified header for the same request, the client ...
... client uses an arbitrary date in the If-Modified-Since header instead of a date taken from the Last-Modified header for the same request, the client should be aware of the fact that this ...
... The result of a request having both an If-Modified-Since header field and either an If-Match or an If-Unmodified-Since header fields is ...
... The result of a request having both an If-Modified-Since header field and either an If-Match or an If-Unmodified-Since header fields is undefined by this specification. ...
... The If-None-Match request-header field is used with a method to make it conditional. A client ...
... entity tags in the If-None-Match header field. The purpose of this feature is to allow efficient updates of cached information with a minimum amount of transaction ...
... entity that would have been returned in the response to a similar GET request (without the If-None-Match header) on that resource, or if "*" is given and any current entity exists for that resource, then the ...
... method, unless required to do so because the resource's modification date fails to match that supplied in an If-Modified-Since header field in the request. Instead, if the request method was GET or HEAD, the server SHOULD ...
... respond with a 304 (Not Modified) response, including the cache- related header fields (particularly ETag) of one of the entities that matched. For all other request methods, the server MUST respond with ...
... tags match, then the server MAY perform the requested method as if the If-None-Match header field did not exist, but MUST also ignore any If-Modified-Since header field(s) in the ...
... method as if the If-None-Match header field did not exist, but MUST also ignore any If-Modified-Since header field(s) in the request. That is, if no entity tags ...
... If the request would, without the If-None-Match header field, result in anything other than a 2xx or 304 status, then the If-None-Match header ...
... header field, result in anything other than a 2xx or 304 status, then the If-None-Match header MUST be ignored. (See section 13.3.4 for a discussion of server behavior when both If-Modified-Since and If-None-Match appear ...
... The result of a request having both an If-None-Match header field and either an If-Match or an If-Unmodified-Since header fields is ...
... The result of a request having both an If-None-Match header field and either an If-Match or an If-Unmodified-Since header fields is undefined by this specification. ...
... cache, it could use the Range request-header with a conditional GET (using either or both of If-Unmodified-Since and If-Match.) However, if the condition fails because the entity ...
... The If-Range header allows a client to "short-circuit" the second ...
... entity, but does have a Last- Modified date, it MAY use that date in an If-Range header. (The server can distinguish between a valid HTTP ...
... tag by examining no more than two characters.) The If-Range header SHOULD only be used together with a Range header, and MUST be ...
... header SHOULD only be used together with a Range header, and MUST be ignored if the request does not include a Range header ...
... header, and MUST be ignored if the request does not include a Range header, or if the server does not support the sub-range operation. ...
... entity tag given in the If-Range header matches the current entity tag ...
... The If-Unmodified-Since request-header field is used with a method to make it conditional. If the requested resource has not been modified ...
... make it conditional. If the requested resource has not been modified since the time specified in this field, the server SHOULD perform the requested operation as if the If-Unmodified-Since header were not present. ...
... If the request normally (i.e., without the If-Unmodified-Since header) would result in anything other than a 2xx or 412 status, the If-Unmodified-Since header SHOULD be ignored. ...
... header) would result in anything other than a 2xx or 412 status, the If-Unmodified-Since header SHOULD be ignored. ...
... If the specified date is invalid, the header is ignored. ...
... The result of a request having both an If-Unmodified-Since header field and either an If-None-Match or an If-Modified-Since header fields is undefined by this specification. ...
... The result of a request having both an If-Unmodified-Since header field and either an If-None-Match or an If-Modified-Since header fields is undefined by this specification. ...
... The Last-Modified entity-header field indicates the date and time at which the origin server believes the variant was last modified. ...
... The exact meaning of this header field depends on the implementation of the origin server and the nature of the original resource. For files, it may be just the file system ...
... The Location response-header field is used to redirect the recipient to a location other than the Request-URI for completion of the ...
... Note: The Content-Location header field (section 14.14) differs from Location in that the Content-Location identifies the original ...
... location of the entity enclosed in the request. It is therefore possible for a response to contain header fields for both Location and Content-Location. Also see section 13.10 for cache ...
... The Max-Forwards request-header field provides a mechanism with the TRACE (section 9.8) and OPTIONS (section 9.2) methods ...
... gateway recipient of a TRACE or OPTIONS request containing a Max-Forwards header field MUST check and update its value prior to forwarding the request. If the received value is zero ...
... The Max-Forwards header field MAY be ignored for all other methods defined by this specification and for any extension methods ...
... The Pragma general-header field is used to include implementation- specific directives that might apply to any recipient along the request/response ...
... HTTP/1.0. Clients SHOULD include both header fields when a no-cache request is sent to a server not known to be HTTP/1.1 ...
... Note: because the meaning of "Pragma: no-cache as a response header field is not actually specified, it does not provide a reliable replacement for "Cache-Control: no-cache ...
... The Proxy-Authenticate response-header field MUST be included as part of a 407 (Proxy Authentication Required ...
... WWW-Authenticate, the Proxy-Authenticate header field applies only to the current connection and SHOULD NOT be passed on to downstream ...
... Proxy-Authenticate header field. ...
... The Proxy-Authorization request-header field allows the client to identify itself (or its user) to a proxy ...
... Authorization, the Proxy-Authorization header field applies only to the next outbound proxy that demanded authentication ...
... Proxy-Authorization header field is consumed by the first outbound proxy that was expecting to receive credentials. A proxy ...
... set that includes one or more syntactically invalid byte-range-spec values MUST ignore the header field that includes that byte-range- set. ...
... the entire entity, using the Range request header, which applies to the entity returned as the result of the request: ...
... A server MAY ignore the Range header. However, HTTP/1.1 origin servers and intermediate caches ...
... If the server supports the Range header and the specified range or ranges ...
... The presence of a Range header in an unconditional GET modifies what is returned if the GET is otherwise successful. In other ...
... The presence of a Range header in a conditional GET (a request using one or both of If-Modified-Since and If-None-Match, or one or both of If-Unmodified-Since and If-Match) modifies what ...
... In some cases, it might be more appropriate to use the If-Range header (see section 14.27) in addition to the Range header. ...
... header (see section 14.27) in addition to the Range header. ...
... The Referer[sic] request-header field allows the client to specify, for the server's benefit, the address ...
... which the Request-URI was obtained (the "referrer", although the header field is misspelled.) The Referer request-header allows a server to generate lists of back-links ...
... Request-URI was obtained (the "referrer", although the header field is misspelled.) The Referer request-header allows a server to generate lists of back-links to resources for interest, ...
... The Retry-After response-header field can be used with a 503 (Service Unavailable ...
... The Server response-header field contains information about the software used by the origin server to handle the request. The field can contain multiple product tokens ...
... proxy application MUST NOT modify the Server response-header. Instead, it SHOULD include a Via field (as described in section 14.45). ...
... The TE request-header field indicates what extension transfer-codings it is willing to accept in the response and whether or not it is willing to accept trailer fields ...
... The TE header field only applies to the immediate connection. Therefore, the keyword MUST be supplied within a Connection ...
... connection. Therefore, the keyword MUST be supplied within a Connection header field (section 14.10) whenever TE is present in an HTTP/1.1 message. ...
... The Trailer general field value indicates that the given set of header fields is present in the trailer of a message encoded with chunked transfer-coding. ...
... An HTTP/1.1 message SHOULD include a Trailer header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient to know which header fields ...
... header field in a message using chunked transfer-coding with a non-empty trailer. Doing so allows the recipient to know which header fields to expect in the trailer. ...
... If no Trailer header field is present, the trailer SHOULD NOT include any header fields. See section 3.6.1 for restrictions on the use of ...
... If no Trailer header field is present, the trailer SHOULD NOT include any header fields. See section 3.6.1 for restrictions on the use of trailer fields in a "chunked" transfer-coding. ...
... Message header fields listed in the Trailer header field MUST NOT include the following header fields ...
... Message header fields listed in the Trailer header field MUST NOT include the following header fields: ...
... Message header fields listed in the Trailer header field MUST NOT include the following header fields: ...
... The Transfer-Encoding general-header field indicates what (if any) type of transformation has been applied to the message body in order ...
... encoding parameters MAY be provided by other entity-header fields not defined by this specification. ...
... Many older HTTP/1.0 applications do not understand the Transfer- Encoding header. ...
... The Upgrade general-header allows the client to specify what additional communication protocols it supports and would like to use ...
... if the server finds it appropriate to switch protocols. The server MUST use the Upgrade header field within a 101 (Switching Protocols) response to indicate which protocol(s) are being switched. ...
... The Upgrade header field is intended to provide a simple mechanism for transition from HTTP/1.1 to some other, incompatible protocol. It ...
... The Upgrade header field only applies to switching application-layer protocols upon the existing transport-layer ...
... new protocol chosen, although the first action after changing the protocol MUST be a response to the initial HTTP request containing the Upgrade header field. ...
... The Upgrade header field only applies to the immediate connection. Therefore, the upgrade keyword MUST be supplied within a Connection ...
... Therefore, the upgrade keyword MUST be supplied within a Connection header field (section 14.10) whenever Upgrade is present in an HTTP/1.1 message. ...
... The Upgrade header field cannot be used to indicate a switch to a protocol on a different connection ...
... The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, ...
... The Vary field value indicates the set of request-header fields that fully determines, while the response is fresh, whether a cache is ...
... to select the representation. A Vary field value of "*" implies that a cache cannot determine from the request headers of a subsequent request whether this response is the appropriate representation. See section 13.6 for use of the Vary header field ...
... headers of a subsequent request whether this response is the appropriate representation. See section 13.6 for use of the Vary header field by caches. ...
... An HTTP/1.1 server SHOULD include a Vary header field with any cacheable response that is subject to server-driven negotiation ...
... user agent about the presence of negotiation on that resource. A server MAY include a Vary header field with a non-cacheable response that is subject to server-driven negotiation ...
... the representation selected for the response is based on a selection algorithm which considers ONLY the listed request-header field values in selecting the most appropriate representation. A cache MAY assume ...
... The field-names given are not limited to the set of standard request-header fields defined by this specification. Field names are case-insensitive. ...
... A Vary field value of "*" signals that unspecified parameters not limited to the request-headers (e.g., the network address of the ...
... The Via general-header field MUST be used by gateways and proxies to ...
... Comments MAY be used in the Via header field to identify the software of the recipient proxy or gateway ...
... gateway, analogous to the User-Agent and Server header fields. However, all comments in the Via field are optional and MAY be removed by any recipient prior to forwarding the ...
... the request by forwarding it to the origin server at www.ics.uci.edu. The request received by www.ics.uci.edu would then have the following Via header field: ...
... internal structures, a proxy MAY combine an ordered subsequence of Via header field entries with identical received-protocol values into a single such entry. For example, ...
... The Warning general-header field is used to carry additional information about the status or transformation of a message which might not be reflected in the message. This information is typically ...
... Warning headers are sent with responses using: ...
... A response MAY carry more than one Warning header. ...
... Warning headers can in general be applied to any message, however some specific warn-codes are specific to caches and can only be ...
... some specific warn-codes are specific to caches and can only be applied to response messages. New Warning headers SHOULD be added after any existing Warning headers. A cache ...
... applied to response messages. New Warning headers SHOULD be added after any existing Warning headers. A cache MUST NOT delete any ...
... cache MUST NOT delete any Warning header that it received with a message. However, if a cache successfully validates ...
... cache entry, it SHOULD remove any Warning headers previously attached to that entry except as specified for specific Warning codes. It MUST then add any Warning headers received ...
... headers previously attached to that entry except as specified for specific Warning codes. It MUST then add any Warning headers received in the validating response. In other words, Warning headers are those ...
... specific Warning codes. It MUST then add any Warning headers received in the validating response. In other words, Warning headers are those that would be attached to the most recent relevant response. ...
... When multiple Warning headers are attached to a response, the user agent ought to inform the user of as many of them as possible, in the order that they appear in the response. If it is not possible to ...
... Systems that generate multiple Warning headers SHOULD order them with this user agent behavior in mind. ...
... transformation changing the content-coding (as specified in the Content-Encoding header) or media-type (as specified in the Content-Type ...
... media-type (as specified in the Content-Type header) of the response, or the entity-body of the response, unless this Warning code already appears in the response. ...
... If an implementation sends a message with one or more Warning headers whose version is HTTP/1.0 ...
... deleted from the message before storing, forwarding, or using it. (This prevents bad consequences of naive caching of Warning header fields.) If all of the warning-values are deleted for this reason, the Warning header ...
... header fields.) If all of the warning-values are deleted for this reason, the Warning header MUST be deleted as well. ...
... The WWW-Authenticate response-header field MUST be included in 401 (Unauthorized) response messages. The field value consists of at least one challenge that indicates the authentication ...
... Authenticate field value as it might contain more than one challenge, or if more than one WWW-Authenticate header field is provided, the contents of a challenge itself can contain a comma-separated list of authentication ...


... applications SHOULD supply as much control over this information as possible to the provider of that information. Four header fields are worth special mention in this context: Server, Via, Referer and From. ...
... security holes. Implementors SHOULD make the Server header field a configurable option. ...
... network firewall SHOULD take special precautions regarding the transfer of header information that identifies the hosts behind the firewall ...
... The Referer header allows reading patterns to be studied and reverse links drawn. Although it can be very useful, its power can be abused ...
... the Referer. Even when the personal information has been removed, the Referer header might indicate a private document's URI whose publication would be inappropriate. ...
... The User-Agent (section 14.43) or Server (section 14.38) header fields can sometimes be used to determine that a specific client or server have a particular security hole which might be exploited. ...
... Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request ...
... Privacy Issues Connected to Accept Headers ...
... Accept request-headers can reveal information about the user to all servers which are accessed. The Accept-Language header ...
... request-headers can reveal information about the user to all servers which are accessed. The Accept-Language header in particular can reveal information the user would consider to be of a private nature, because the understanding of particular languages ...
... User agents which offer the option to configure the contents of an Accept-Language header to be sent in every request are strongly encouraged to let the configuration process include a message which makes the user aware of the loss of privacy ...
... user agent to omit the sending of Accept-Language headers by default, and to ask the user whether or not to start sending Accept-Language ...
... the user whether or not to start sending Accept-Language headers to a server if it detects, by looking for any Vary response-header fields ...
... Language headers to a server if it detects, by looking for any Vary response-header fields generated by the server, that such sending could improve the quality of service ...
... Elaborate user-customized accept header fields sent in every request, in particular if these include quality values, can be used by servers as relatively reliable and long-lived user identifiers ...
... privacy, user agents ought to be conservative in offering accept header configuration options to end users. As an extreme privacy measure, proxies ...
... measure, proxies could filter the accept headers in relayed requests. General purpose user agents which provide a high degree of header ...
... headers in relayed requests. General purpose user agents which provide a high degree of header configurability SHOULD warn users about the loss of privacy which can ...
... Location Headers and Spoofing ...
... trust one another, then it MUST check the values of Location and Content- Location headers in responses that are generated under control of said organizations to make sure that they do not attempt to invalidate resources over which they have no authority ...
... 35], from which the often implemented Content-Disposition (see section 19.5.1) header in HTTP is derived, has a number of very serious security considerations ...


... Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text", RFC 2047draft, November 1996. ...
... Meyers, J. and M. Rose, "The Content-MD5 Header Field", RFC 1864draft, October 1995. ...
... Troost, R. and Dorner, S., "Communicating Presentation Information in Internet Messages: The Content-Disposition Header", RFC 1806exp, June 1995. ...
... Palme, J., "Common Internet Message Headers", RFC 2076, February 1997. [jg640] ...
... Troost, R., Dorner, S. and K. Moore, "Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field", RFC 2183prop, August 1997. ...


... The line terminator for message-header fields is the sequence CRLF. However, we recommend that applications, when parsing such headers ...
... message-header fields is the sequence CRLF. However, we recommend that applications, when parsing such headers, recognize a single LF as a line terminator and ignore the leading CR ...
... If an HTTP header incorrectly carries a date value with a time zone other than GMT, it MUST be converted into GMT ...
... HTTP/1.1 messages MAY include a single MIME-Version general-header field to indicate what version of the MIME ...
... MIME protocol was used to construct the message. Use of the MIME-Version header field indicates that the message is in full compliance with the MIME protocol (as defined in RFC 2045draft ...
... Proxies and gateways from other protocols SHOULD ensure that any Date header field present in a message conforms to one of the HTTP/1.1 formats and rewrite the date ...
... HTTP/1.1's Content-Encoding header field. Since this acts as a modifier on the media type, proxies ...
... protocols MUST either change the value of the Content-Type header field or decode the entity-body before forwarding the message. (Some experimental ...
... HTTP/1.1 introduces the Transfer-Encoding header field (section 14.41). Proxies/gateways ...
... } read entity-header while (entity-header ...
... header while (entity-header not empty) { append entity-header ...
... header not empty) { append entity-header to existing header fields read entity ...
... append entity-header to existing header fields read entity-header ...
... header fields read entity-header } Content-Length ...
... transports all message-bodies as payload (see section 3.7.2) and does not interpret the content or any MIME header lines that might be contained therein. ...
... A number of other headers, such as Content-Disposition and Title, from SMTP ...
... The Content-Disposition response-header field has been proposed as a means for the origin server to suggest a default filename if the user requests that the content is saved to a file. This usage is derived ...
... If this header is used in a response with the application/octet- stream content-type ...
... clients and servers support the Host request- header, report an error if the Host request-header (section 14.23) is ...
... header, report an error if the Host request-header (section 14.23) is missing from an HTTP/1.1 request, and accept absolute URIs ...
... Both clients and servers MUST support the Host request-header. ...
... client that sends an HTTP/1.1 request MUST send a Host header. ...
... HTTP/1.1 request does not include a Host request-header. ...
... Keep-Alive and Keep-Alive header) is documented in RFC 2068(-> 2616draft). [33] ...
... Charset wildcarding is introduced to avoid explosion of character set names in accept headers. (Section 14.2) ...
... meta-data were always returned; by allowing the server to only send needed headers in a 206 response, this problem can be avoided. (Section 10.2.7, 13.5.3, and 14.27) ...
... This change adds the Expect header and 417 status code. The message transmission requirements ...
... Warnings could be cached incorrectly, or not updated appropriately. (Section 13.1.2, 13.2.4, 13.5.2, 13.5.3, 14.9.3, and 14.46) Warning also needed to be a general header, as PUT or other methods may have need for it in requests. ...
... adding an IANA registry for transfer-codings (separate from content codings), a new header field (TE) and enabling trailer headers in the ...
... codings), a new header field (TE) and enabling trailer headers in the future. Transfer encoding is a major performance ...
... URI, Public and Content-Base header fields were defined in previous versions of this specification, but not commonly implemented. See RFC 2068(-> 2616draft) ...



Google
Web
RFC-Ref