For entity-header fields, both sender and recipient refer to either the client or the server, depending on who sends and who receives the entity. 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 image.
The media-range MAY include media type parameters that are applicable to that range.
Each media-range MAY be followed by one or more accept-params, beginning with the "q" parameter for indicating a relative quality factor. The first "q" parameter if any separates the media-range parameter s from the accept-params. Quality factors allow the user or user agent to indicate the relative degree of preference for that media-range, using the qvalue scale from 0 to 1 section 3. If no Accept header field is present, then it is assumed that the 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 send a not acceptable response. Media ranges can be overridden by more specific media ranges or specific media types.
If more than one media range applies to a given type, the most specific reference has precedence. For example. The media type quality factor associated with a given type is determined by finding the media range with the highest precedence which matches that type.
The Accept-Charset request-header field can be used to indicate what character sets are acceptable for the response.
This field allows clients capable of understanding more comprehensive or special- purpose character sets to al that capability to a server which is capable of representing documents in those character sets. Character set values are described in section 3. Each charset MAY be given an associated quality value which represents the user's preference for that charset. An example is.
If no Accept-Charset header is present, the default is that any 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 header, then the server SHOULD send an error response with the not acceptable status code, though the sending of an unacceptable response is also allowed. The Accept-Encoding request-header field is similar to Accept, but restricts the content-codings section 3. A server tests whether a content-coding is acceptable, according to an Accept-Encoding field, using these rules:.
If an Accept-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 Not Acceptable status code. If no Accept-Encoding field is present in a request, the Body modified dating site MAY assume that the client will accept any content coding.
In this case, if "identity" is one of the available content-codings, then the server SHOULD use the "identity" content-coding, unless it has additional information that a different content-coding is meaningful to the client. The Accept-Language request-header field is similar to Accept, but restricts the set of natural languages that are preferred as a response to the request.
Language tags are defined in section 3. Each language-range MAY be given an associated quality value which represents an estimate of the user's preference for the languages specified by that range. The language quality factor ased to a language-tag by the Accept-Language field is the quality value of the longest language- range in the field that matches the language-tag.
If no language- range in the field matches the tag, the language quality factor ased is 0. If no Accept-Language header is present in the request, the server.
If an Accept-Language header is present, then all languages which are ased a quality factor greater than 0 are acceptable. It might be contrary to the privacy expectations of the user to send an Accept-Language header with the complete linguistic preferences of the user in every request.
Body piercing program
For a discussion of this issue, see section As intelligibility is highly dependent on the individual user, it is recommended that client applications make the choice of linguistic preference available to the user. The directives specify behavior intended to prevent caches from adversely interfering with the request or response. These directives typically override the default caching algorithms. Cache directives are unidirectional in that the presence of a directive in a request does not imply that the same directive is to be given in the response.
It is not possible to specify a cache- directive for a specific cache. When a directive appears without any 1 field-name parameter, the directive applies to the entire request or response.
When such a directive appears with a 1 field-name parameter, it applies only to the named field or fields, and not to the rest of the request or response. By default, a response is cacheable if the requirements of the request method, request header fields, and the response status indicate that it is cacheable. Section The following Cache-Control response directives allow an origin server to override the default cacheability of a response:.
Note: This usage of the word private only controls where the response may be cached, and cannot ensure the privacy of the message content. The expiration time of an entity MAY be specified by the origin server using the Expires header see section Alternatively, it MAY be specified using the max-age directive in a response. When the max-age cache-control directive is present in a cached response, the response is stale if its current age is greater than the age value given in seconds at the time of a new request for that resource.
The max-age directive on a response implies that the response is cacheable i.
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. Note: An origin server might wish to use a relatively new HTTP cache control feature, such as the "private" directive, on a network including older caches that do not understand that feature. The origin server will need to combine the new feature with an Expires field whose value is less than or equal to the Date value.
This will prevent older caches from improperly caching the response. Note that most older caches, not compliant with this specification, do not implement any cache-control directives.
Other directives allow a user agent to modify the basic expiration mechanism. These directives MAY be specified on a request:. If a cache returns a stale response, either because of a max-stale directive on a request, or because the cache is configured to override the expiration time of a response, the cache MUST attach a Warning header to the stale response, using Warning Response is stale.
A cache MAY be configured to return stale responses without validation, but only if this does not conflict with any "MUST"-level requirements concerning cache validation e. If both the new request and the cached entry include "max-age" directives, then the lesser of the two values is used for determining the freshness of the cached entry for that request.
Sometimes a user agent might want or need to insist that a cache revalidate its cache entry with the origin server and not just with the next cache along the path to the origin serveror to reload its cache entry from the origin server. End-to-end revalidation might be necessary if either the cache or the origin server has overestimated the expiration time of the cached response.
End-to-end reload may be necessary if the cache entry has become corrupted for some reason. End-to-end revalidation may be requested either when the client does not have its own local cached copy, in which case we call it "unspecified end-to-end revalidation", or when the client does have a local cached copy, in which case we call it "specific end-to-end revalidation.
The client can specify these three kinds of action using Cache- Control request directives:. The Cache-Control header field can be extended through the use of one or more cache-extension tokens, each with an optional ased value. Informational extensions those which do not require a change in cache behavior MAY be added without changing the semantics of other directives. Behavioral extensions are deed to work by acting as modifiers to the existing base of cache directives. Both the new directive and the standard directive are supplied, such that applications which do not understand the new directive will default to the behavior specified by Body modified dating site standard directive, and those that understand the new directive will recognize it as modifying the requirements associated with the standard directive.
In this way, extensions to the cache-control directives can be made without requiring changes to the base protocol. This extension mechanism depends on an HTTP cache obeying all of the cache-control directives defined for its native HTTP-version, obeying certain extensions, and ignoring all directives that it does not understand. For example, consider a hypothetical new response directive called community which acts as a modifier to the private directive. We define Body modified dating site new directive to mean that, in addition to any non-shared cache, any cache which is shared only by members of the community named within its value may cache the response.
An origin server wishing to allow the UCI community to use an otherwise private response in their shared cache s could do so by including. A cache seeing this header field will act correctly even if the cache does not understand the community cache-extension, since it will also see and understand the private directive and thus default to the safe behavior.
The Connection general-header field allows the sender to specify options that are desired for that particular connection and MUST NOT be communicated by proxies over further connections. Connection options are aled by the presence of a connection-token in the Connection header field, not by any corresponding additional header field ssince the additional header field may not be sent if there are no parameters associated with that connection option.
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 codings have been applied to the entity-body, and thus what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type header field. Content-Encoding is primarily used to allow a document to be compressed without losing the identity of its underlying media type.
Content codings are defined in section 3. An example of its use is.
The content-coding is a characteristic of the entity identified by the Request-URI. Typically, the entity-body is stored with this encoding and is only decoded before rendering or analogous usage.
However, a non-transparent proxy MAY modify the content-coding if the new coding is known to be acceptable to the recipient, unless the "no-transform" cache-control directive is present in the message. If the content-coding of an entity is not "identity", then the response MUST include a Content-Encoding entity-header section If the content-coding of an entity in a request message is not acceptable to the origin server, the server SHOULD respond with a status code of Unsupported Media Type. If multiple encodings have been applied to an entity, the content codings MUST be listed in the order in which they were applied.
Additional information about the 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. Note that this might not be equivalent to all the languages used within the entity-body.
The primary purpose of Content-Language is to allow a user to identify and differentiate entities according to the user's own preferred language.