dcsimg

HTTP Explained Page 3

By ServerWatch Staff (Send Email)
Posted Aug 7, 1999


An HTTP transaction consists of a header followed optionally by an empty line and some data. The header will specify such things as the action required of the s erver, or the type of data being returned, or a status code.

The header lines received from the client, if any, are placed by th e server into the CGI environment variables with the prefix HTTP_ followed by the header name. Any - characters in the header name a re changed to _ characters. The server may exclude any headers which it has already processed, such as Authorization, Content-type, and Content-length.

  • HTTP_ACCEPT

    The MIME types which the client will accept, as given by HTTP headers . Other protocols may need to get this information from elsewhere. Each item in this list should be separated by commas as per the H TTP spec.

    Format: type/subtype, type/subtype

  • HTTP_USER_AGENT

    The browser the client is using to send th e request. General format: software/version library/version.

The server sends back to the client:
  • A sta tus code that indicates whether the request was successful or not. Typical error codes indicate that the requested file was not foun d, that the request was malformed, or that authentication is required to access the file.

  • The data itself. Since HTTP is li beral about sending documents of any format, it is ideal for transmitting multimedia such as graphics, audio, and video files.

    It also sends back information about the object being returned.

Content-Type

Indicates the media type of the data sent to the recipient or, in the case of the HEAD method, the media type that would have be en sent had the request been a GET. Content-Type: text/html

Date

The date and time at which the message was originated. Date: Tue, 15 Nov 1994 08:12:31 GMT

Expires

The date after which the information in the document ceases to be valid. Caching clients, including proxies, must not cache this cop y of the resource beyond the date given, unless its status has been updated by a later check of the origin server. Expires: Th u, 01 Dec 1994 16:00:00 GMT

From

An Internet e-mail address for the human user who controls the requesting user agent. From: Stars@WDVL.com The request is being performed on behalf of the person given, who accepts r esponsibility for the method performed. Robot agents should include this header so that the person responsible for runn ing the robot can be contacted if problems occur on the receiving end.

If-Modified-Since

U sed with the GET method to make it conditional: if the requested resource has not been modified since the time specifie d in this field, a copy of the resource will not be returned from the server; instead, a 304 (not modified) response will be returne d without any data. If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT

Last-Modified

Indicates the date and time at which the sender believes the resource was last modified. Useful for clients that eliminate unneces sary transfers by using caching. Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

Location

The Location response header field defines the exact location of the resource that was identified by the request URI. If the value is a full URL, the server returns a "redirect" to the client to retrieve the specified object directly.
 Location: http://WWW.S
tars.com/Tutorial/HTTP/index.html 
If you want to reference another file on your own server, you should output a partial URL, such as the following:
Location: /Tutorial/HTTP/index.html

Referer

Allows the client to s pecify, for the server''s benefit, the address (URI) of the resource from which the request URI was obtained. This allows a server t o generate lists of back-links to resources for interest, logging, optimized caching, etc. It also allows obsolete or mistyped links to be traced for maintenance. Referer: http://WWW.Stars.com/index.html

Server

The Server response header field contains information about the software used by the origin server to handle the request. Server: CERN/3.0 libwww/2.17

User-Agent

Information about the user agent originating the r equest. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations - such as inability to support HTML tables. User-Agent: CERN -LineMode/2.15 libwww/2.17b3



Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.