Customer Service and Booking Hotline: +44 (0) 845 672 0175

Search

Operation of HyperText Transfer Protocol (HTTP)

Hypertext Transfer Protocol (HTTP) is an application level protocol which is widely used as a means of transferring data on a client/server model between web clients and web servers within the World Wide Web (WWW)...


HTTP version 1.1 is the most commonly deployed version, and is defined in RFC 2616. The protocol is a request-response protocol, and typically a client requests a page from a web server, and receives a reply which contains the requested item, or a return code indicating why the request has failed. A large set of these return codes have been defined, and many users are familiar with several of the frequently occurring failures, such as HTTP 404: Not Found when a requested item is not available.

Connections between clients and servers may be direct, but increasingly this is not the case; instead inbound and outbound web proxies are used as intermediate nodes; a client connects to the proxy (acting as an HTTP server), the proxy terminates the HTTP session and generates a new HTTP session (acting as a client) to the ultimate source of the data being requested. This approach is used for various reasons:

  • Proxies can contain Application Level Filtering, so that certain sites can be disallowed, certain content can be disallowed, and certain users can be disallowed. Corporate users of HTTP usually pass through such an outbound web proxy
  • Proxies can conceal the identity and address of clients from the servers being visited, and can generally hide the topology of client networks from these servers. Although this is of limited use for conventional web browsing, it is widely used where commercial sensitivities exist, for example to conceal the IP addresses of VoIP subscribers across peering points when the HTTP-like SIP protocol is being used.
  • Proxies can be used to cache web content, and so improve the efficiency of data retrieval. HTTP includes fields to indicate when content was last changed on the server, and for how long the content of a page is considered “fresh”; caches can use this information to provide a local copy of content rather than retrieve content each time from the original source of the data.

The example at the top of this article shows the result when the Technology Training homepage is (re)-requested by a client. Notice that most of the content is not sent, because it is held locally in the client cache; instead a HTTP/1.1 304 code is returned, in response to the client including an If-Modified-Since header in the page request. Notice also that the graphic file bg.gif is requested and not found; this file is actually missing from the web site, but is referenced as a background in the HTML of the site.

Bookmark this article

Share this article using the following sites:

Courses by category...

Glossary Search

Newsletter Sign-up

Our RSS Feeds...