HTTP Header Explanation

Source: Internet
Author: User
Tags html form md5 digest ranges response code

1. Accept: Tell the Web server what type of media you accept, */* represents any type, type/* represents all subtypes under that type, Type/sub-type.

2. accept-charset: The browser affirms its own received character set
accept-encoding: The browser declares itself to receive the encoding method, usually specifies the compression method, whether compression is supported, what compression method is supported (Gzip,deflate)
accept-language: The browser affirms that the language you receive differs from the character set: Chinese is language, Chinese has multiple character sets, such as BIG5,GB2312,GBK and so on.

3. accept-ranges: The Web server indicates whether it accepts requests to obtain a portion of its entity, such as a portion of a file. Bytes: Accept, none: Indicates not accepted.

4. Age: When the proxy server responds to a request with its own cached entity, the header is used to indicate how long the entity has been from the time it was produced to the present.

5. Authorization: When the client receives a www-authenticate response from the Web server, the header responds to its own authentication information to the Web server.

6. Cache-control:

Request: No-cache (do not cache the entity, request now from the Web server to fetch)

Max-age: (Accept only the age value is less than the Max-age value, and there are no expired objects)

Max-stale: (Can accept past objects, but the expiration time must be less than Max-stale value)

Min-fresh: (accepts cached objects whose freshness life is greater than the sum of its current age and Min-fresh values)

Response: Public (can respond to any user with Cached content)
Private (only cached content can be used to respond to the user who previously requested the content)
No-cache (can be cached, but only after the Web server has verified that it is valid to be returned to the client)
Max-age: (The expiration time of the object contained in this response)
All:no-store (cache not allowed)

7. Connection:

Request: Close (Tell the Web server or proxy server, after completing the response to this request, disconnect, do not wait for subsequent requests for this connection).
KeepAlive (tells the Web server or proxy server, after completing the response of this request, remains connected, waiting for subsequent requests for this connection).
Response: Close (the connection is closed).
KeepAlive (connection is maintained, waiting for subsequent requests for this connection).
Keep-alive: If the browser requests to remain connected, the header indicates how long (in seconds) you want the WEB server to remain connected. Example: keep-alive:300

8. content-encoding: The Web server indicates what compression method (Gzip,deflate) It uses to compress the objects in the response.

Example: Content-encoding:gzip
content-language: The WEB server tells the browser the language of the object it responds to.

content-length: The length of the object that the WEB server tells the browser to respond to.

Example: content-length:26012

content-range: The WEB server indicates that the response contains some of the objects that are part of the entire object.

Example: Content-range:bytes 21010-47021/47022

content-type: The type of object that the WEB server tells the browser to respond to.

Example: Content-type:application/xml

9. ETag: is an object (such as a URL) of the flag value, in terms of an object, such as an HTML file, if modified, its etag will not be modified, so, the role of the etag is similar to the role of last-modified, mainly for the WEB The server determines whether an object has changed. For example, when a previous request for an HTML file, the ETag was obtained, and when the file is requested, the browser will send the previously obtained ETag value to the Web server, and then the Web server will compare the ETag with the file's current etag, and then know that the file has no Has changed.

Expired: The Web server indicates when the entity will expire and, for expired objects, can be used to respond to customer requests only after it has verified its validity with the Web server. It's http/1.0 's head.

Example: Expires:sat, 10:02:12 GMT

Host: The client specifies the domain/IP address and port number of the Web server that you want to access.

Example: Host:rss.sina.com.cn

If-match: If the ETag of an object does not change, it actually means that the object has not changed before the requested action is executed.
If-none-match: If the ETag of an object changes, it also means that the object has changed to perform the requested action.

if-modified-since: If the requested object is modified after the specified time in the header, the requested action (such as the return object) is executed, otherwise the code 304 is returned, telling the browser that the object has not been modified.

Example: If-modified-since:thu, APR 09:14:42 GMT

if-unmodified-since: The requested action (such as returning an object) is performed if the requested object has not been modified after the specified time in the header.

if-range: The browser tells the WEB server that if the object I requested doesn't change, give me the missing part, and if the object changes, give me the whole object. The browser can tell the WEB server whether the object has changed by sending the etag of the requested object or the last modification time it knows. Always used with the Range header.

last-modified: The WEB server considers the last modification time of the object, such as the last modification time of the file, the last generation time of the dynamic page, and so on.

For example: Last-modified:tue, May 02:42:43 GMT

Location: The WEB server tells the browser that the object you are trying to access has been moved to a different location to fetch it at the specified position in the header.

Example: Location:http://i0.sinaimg.cn/dy/deco/2008/0528/sinahome_0803_ws_005_text_0.gif

PRAMGA: The main use of pramga:no-cache, equivalent to Cache-control:no-cache.

Example: Pragma:no-cache

proxy-authenticate: The proxy server responds to the browser and requires it to provide proxy authentication information.

proxy-authorization: The browser responds to the proxy server's authentication request and provides its own identity information.

Range: A browser (such as a Flashget multi-threaded download) tells the WEB server what part of the object you want to take.

Example: range:bytes=1173546-

Referer: The browser indicates to the Web server from which page/url obtained/clicked the URL/url in the current request.

Example: referer:http://www.sina.com/

Server: The WEB server indicates what software and version information it is.

Example: server:apache/2.0.61 (Unix)

user-agent: The browser indicates its identity (which browser).

For example: user-agent:mozilla/5.0 (Windows; U Windows NT 5.1; ZH-CN; rv:1.8.1.14) gecko/20080404 firefox/2.0.0.14

transfer-encoding: The WEB server indicates how it encodes the response message body (not the object inside the message body), such as whether it is chunked (chunked).

Example: transfer-encoding:chunked

Vary: The Web server uses the contents of the header to tell the Cache server under what conditions the object returned by this response responds to subsequent requests. If the source Web server receives the first request message, the header of its response message is: Content-encoding:gzip; Vary:content-encoding then the cache server parses the header of the subsequent request message and checks if its accept-encoding is consistent with the Vary header value of the previous response, that is, whether the same content encoding method is used, which prevents the cache The server responds to the compressed entity in its own cache to a browser that does not have the ability to decompress.

Example: vary:accept-encoding

Via: Lists which proxy servers The response from the client to OCS or in the opposite direction passed, and what protocol (and version) they were using to send the request. When the client request arrives at the first proxy server, the server will add the VIA header to its request and fill in its own information, and when the next proxy receives the request from the first proxy server, it will copy the Via part of the request from the previous proxy server in its own request. and add their own information to the back, and so on, when OCS receives the last Proxy server request, check Via header, know the route that the request passes.

Example: via:1.0 236-81.d07071953.sina.com.cn:80 (SQUID/2.6.STABLE13)

================================================
HTTP Request message Header instance:
Host:rss.sina.com.cn
user-agent:mozilla/5.0 (Windows; U Windows NT 5.1; ZH-CN; rv:1.8.1.14) gecko/20080404 firefox/2.0.0.14
accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
accept-language:zh-cn,zh;q=0.5
Accept-encoding:gzip,deflate
accept-charset:gb2312,utf-8;q=0.7,*;q=0.7
keep-alive:300
Connection:keep-alive
COOKIE:USERID=C5BYPXRIMDMSIQMSBPNE1VN8ZQMDWSM3WRLEB3VRWTNRTW <--Cookies
If-modified-since:sun, June 12:05:30 GMT
Cache-control:max-age=0

HTTP Response message Header instance:
The status:ok-200 <--response status code that represents the result of the Web server processing.
Date:sun, June 12:35:47 GMT
server:apache/2.0.61 (Unix)
Last-modified:sun, June 12:35:30 GMT
Accept-ranges:bytes
content-length:18616
cache-control:max-age=120
Expires:sun, June 12:37:47 GMT
Content-type:application/xml
Age:2
X-cache:hit HTTP headers used by the reverse proxy server from 236-41.d07071951.sina.com.cn <--
via:1.0 236-41.d07071951.sina.com.cn:80 (SQUID/2.6.STABLE13)
Connection:close
================================================

HTTP header information Simple description

2008-02-28 03:13

The HTTP response Code Response code consists of three-bit decimal digits, which appear in the first line of the response sent by the HTTP server.
The response code is divided into five types, denoted by their first digit:
1XX: Information, request received, continue processing
2XX: Success, Behavior is successfully accepted, understood and adopted
3xx: Redirect, in order to complete the request, the action must be further performed
4XX: Client error, request contains syntax error or request cannot be implemented
5XX: Server error, server cannot implement an apparently invalid request
The following table shows each response code and what it means:
100 Continuation 101 Packet Exchange HS OK 201 was created 202 adopted

203 Non-authorized information 204 no content 205 Reset content 206 part content

300 multiple Option 301 permanently transfer 302 found 303 see other

304 not changed 305 use proxy 307 to temporarily redirect 400 error requests

401 unauthorised 402 requires a fee of 403 Forbidden 404 Not Found

405 Disallowed Method 406 is not accepted 407 requires proxy authorization 408 Request timeout

409 Conflict 410 Expired 411 required length 412 premises not established

413 Request instance too large 414 request URI too large 415 unsupported media type

416 Unable to meet the expected 500 internal server error for request scope 417 failure

501 Not used 502 Gateway error 503 unavailable Service 504 Gateway timed out

505 HTTP version is not supported
The HTTP header header is composed of a primary key/value pair. They describe the properties of the client or server, the resources being transferred, and the connection that should be implemented.
Four different types of head labels:
1. Generic header: Can be used for a request or for a response, and is associated with a transaction as a whole rather than a specific resource.
2. Request Header: Allows the client to pass information about itself and the form of the desired response.
3. Response header: The server and the response to transmit its own information.
4. Entity Header: Defines the information for the transmitted resource. Can be used for requests or for responses.
Header Format:<name>:<value><crlf>
The following table describes the headers used in the http/1.1
The Accept defines the types of media that clients can handle, sort by priority, and in a comma-delimited list, you can define multiple types and use wildcards. For example: Accept:image/jpeg,image/png,*/*accept-charset defines the character sets that the client can handle, sort by priority, and in a comma-delimited list, you can define multiple types and use wildcards. Example: Accept-charset:iso-8859-1,*,utf-8
Accept-encoding defines the encoding mechanism that the client can understand. Example: accept-encoding:gzip,compress
Accept-language defines a list of natural languages that the client is willing to accept. Example: Accept-language:en,de
Accept-ranges a response header that allows the server to indicate that it will accept requests for the resource component at a given offset and length. The value of the header is understood as the unit of measure for the requested range. such as Accept-ranges:bytes or Accept-ranges:none
Age allows the server to specify the length of time, in seconds, that has elapsed since the server generated the response. The header is used primarily for caching responses. Example: age:30
Allow a response header that defines a list of HTTP methods supported by the Zhiyuan in the request URI. Example: Allow:get,put
AUTHORIZATION a response header that defines the authorization (domain and encoded user ID and password) necessary to access a resource. Example: Authorization:basic yxv0ag9yonboaww=
Cache-control a generic header for defining cache directives. Example: cache-control:max-age=30
Connection a generic header that indicates whether the socket connection is saved as open. Example: Connection:close or Connection:keep-alive
Content-base an entity header that defines a base URI in order to resolve relative URLs within the entity scope. If you do not define a content-base header to resolve relative URLs, use the content-location URI (present and absolute) or use a URI request. Example: content-base:http://www.myweb.com
Content-encoding a type of media modifier that indicates how an entity is encoded. For example: Content-encoding:zipcontent-language is used to specify the natural language type of data in the input stream. Example: Content-language:en
CONTENT-LENGTH Specifies the length of the bytes contained in the request or response data. Example: content-length:382
CONTENT-LOCATION Specifies the resource location (URI) contained in the request or response. If it is a must. To the URL it also acts as a starting point for the relative URL of the parsed entity. Example: Content-location:http://www.myweb.com/news
A MD5 Digest of the CONTENT-MD5 entity used as a checksum. Both the sender and the receiver calculate the MD5 summary, and the recipient compares the value that it calculates with the value passed in this header. Example: content-md5: <base64 of MD5 digest>
The Content-range is sent along with some entities, indicating the low and high byte offsets of the inserted bytes, as well as the total length of the entity. Example: content-range:1001-2000/5000
Contern-type indicates the MIME type of the entity being sent or received. Example: content-type:text/html
Date when the HTTP message was sent. Example: DATE:MON,10PR 18:42:51 GMT
ETag an entity header that assigns a unique identifier to the resource being sent. For resources that can use multiple URL requests, the etag can be used to determine whether the actual resource being sent is the same resource. For example: ETag: ' 208f-419e-30f8dc99 '
Expires the validity period of the specified entity. Example: expires:mon,05 Dec 12:00:00 GMT
form a request header, given the e-mail address of the human user who controls the user agent. For example: from:[email protected]
Host name of the resource being requested by host. This domain is mandatory for requests that use http/1.1. Example: Host:www.myweb.com
If-modified-since If a GET request is included, the request is conditionally dependent on the last modified date of the resource. If this header appears, and the resource has been modified since the specified date, a 304 response code should be reversed. Example: IF-MODIFIED-SINCE:MON,10PR 18:42:51 GMT
If-match if included in a request, specify one or more entity tags. Only the resources whose etag is labeled with the list are sent. Example: If-match: ' 208f-419e-308dc99 '
If-none-match If a request is included, specify one or more entity tags. The resource's etag does not match any one of the criteria in the list, and the operation executes. Example: If-none-match: ' 208f-419e-308dc99 '
If-range an entity tag for the specified resource, and the client already has a copy of this resource. Must be used in conjunction with the range header. If this entity has not been modified since it was last retrieved by the client, the server sends only the specified range, otherwise it will send the entire resource. Example: Range:byte=0-499<crlf>if-range: ' 208f-419e-30f8dc99 '
If-unmodified-since This entity is returned only if the requested entity has not been modified since the specified date. Example: IF-UNMODIFIED-SINCE:MON,10PR 18:42:51 GMT
last-modified Specifies the date and time that the requested resource was last modified. Example: LAST-MODIFIED:MON,10PR 18:42:51 GMT
Location for a resource that has already been moved, it is used to redirect the requestor to another position. Used in conjunction with status Code 302 (temporary movement) or 301 (permanent move). Example: location:http://www2.myweb.com/index.jsp
Max-forwards a request header for the trace method to specify the maximum number of proxies or gateways that the request is routed through the gateway. The proxy or gateway should reduce this number before passing the request. Example: Max-forwards:3
Pragma a generic header that sends implementation-related information. Example: Pragma:no-cache
Proxy-authenticate is similar to Www-authenticate, which is intentionally requesting authentication from the next server only from the request chain (proxy). Example: Proxy-authenticate:basic realm-admin
Proxy-proxy-authorization is similar to authorization, but does not intentionally deliver anything that is further than the instant server chain. Example: Proxy-proxy-authorization:basic yxv0ag9yonboaww=
The public list shows the set of methods supported by the server. Example: Public:options,mget,mhead,get,head
range specifies the offset range of a unit of measure and a partially requested resource. Example: range:bytes=206-5513
Refener a Request header field that indicates the initial resource that generated the request. For an HTML form, it contains the address of the Web page for this form. Example: refener:http://www.myweb.com/news/search.html
Retry-after a response header domain that is sent by the server in conjunction with a status code of 503 (unable to provide a service) to indicate how long to wait before requesting a request again. This time can be a date, or it can be a unit of seconds. Example: retry-after:18
Server A header that identifies the Web server software and its version number. Example: server:apache/2.0.46 (WIN32)
Transfer-encoding a generic header that indicates the type of transformation that corresponds to the message body that is reversed by the receiving party. Example: transfer-encoding:chunked
Upgrade allows the server to specify a new protocol or a new protocol version, which is used in conjunction with response Encoding 101 (switching protocol). Example: upgrade:http/2.0
User-agent defines the type of software used to generate the request (typically, such as a Web browser). For example: user-agent:mozilla/4.0 (compatible; MSIE 5.5; Windows NT; Digext)
Vary a response header that is used to indicate that a response entity is selected from the available response representations using server-driven negotiation. For example: Vary: *via A generic header with all intermediate hosts and protocols to satisfy the request. Example: via:1.0 fred.com, 1.1 wilma.com
The Warning is used to provide a response header for response status supplemental information. Example: warning:99 www.myweb.com Piano needs tuning
Www-authenticate a response header that prompts the user agent to provide a user name and password, which is used in conjunction with status Code 401 (not authorized). Responds to an authoritative header. Example: Www-authenticate:basic realm=zxm.mgmt

"References thank the Author"
HTTP header explanation, HTTP header detailed analysis, most complete HTTP header information http://yolcy.blog.163.com/blog/static/105307937201022471913971/

HTTP Header Explanation

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.