HTTP is an
application-level protocol intended to have the lightness and speed necessary
for distributed, collaborative, hypermedia information systems. HTTP has been
in use by the World-Wide Web global information initiative since 1990. A
client-server model is assumed. Access may be direct from client to server or
via a proxy. In both cases the browser will probably operate a client side
cache. This is a temporary store of the most recently accessed resources.
Frequently these will need to be referred to again soon and keeping a cached
copy will avoid the need for another (possibly slow) transfer from the remote
server. Sites with many hosts may operate a local proxy system. The browsers
on such sites make their requests via the proxy which then caches the
results. Given that many requests from a site will be for a common set of
resources this arrangement serves to keep many access local to a site where
traffic is, presumably, over a high-speed LAN.
HTTP operates
over a TCP connection. The need to set up and clear down a TCP connection for
each resource request (every separate item on a page!) in HTTP v1.0 does
rather militate against the intended “lightness and speed”. However, this
will be remedied in HTTP v1.1. Once the TCP connection is open the HTTP
dialogue consists of a request and response encoded, in the
main, as phrases of ASCII text.