HTTP Header Detailed explanation

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

HTTP Header Explanation

================================================

?

Accept

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

?

Accept-charset

The browser affirms the character set it receives

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.

?

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.

?

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.

?

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.

?

Cache-control

Request

No-cache: (Do not cache entities, ask to fetch from Web server now)

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)

?

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

?

Content-encoding

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

?

Example: Content-encoding:gzip

The Content-language:web server tells the browser the language of the object it responds to.

The Content-length:web server tells the browser the length of the object it responds to.

?

For example:

content-length:26012

The Content-range:web server indicates that the response contains part of the object that is the entire object.

?

For example:

Content-range:bytes 21010-47021/47022

The Content-type:web server tells the browser what type of object it responds to.

?

For example:

Content-type:application/xml

?

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 server to determine 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 current etag of the file, and then know that the file has not changed 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 verifying its validity with the Web server. It's http/1.0 's head.

?

For 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 does not change 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 returning the 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 location specified by 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

browsers, such as Flashget multi-threaded downloads, tell 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 the proxies that were sent from the client to OCS or in the opposite direction, and what protocol (and version) they used 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 message Header Instance

================================================

?

Request

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

?

Response

?

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

================================================

One, HTTP response code

The 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

?

?

Second, HTTP header

The header is made up 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 resource that is located 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:

?

The zipcontent-language is used to specify the natural language type of the 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

HTTP Header Detailed 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.