User Tools

Site Tools


glossary:http

Hypertext Transfer Protocol (HTTP)

HyperText Transfer Protocol: the application protocol that defines the world-wide web. It's a very simple protocol that allows a user agent (or client) – usually, but not always, a web browser – to request a resource from a web server.

Two messages are defined: the HTTP request which consists essentially of a verb (``GET``, ``POST``, ``HEAD``, ``PUT``, ``DELETE``) and some additional fields and data which act as adverbs, and the HTTP response which provides a status message (``200 OK``, ``404 not found``, ``304 not modified``), a content-type declaration (``text/html``, ``text/css``, ``image/jpeg``, etc) that allows the client to correctly identify and render the resource, and the resource itself. The resource itself is simply carried as a binary data payload whose size is specified in bytes.

HTTP is a stateless protocol: as far as the web server is concerned each request is handled separately as if it had come from a different web client. HTTP version 1.1 allows the client to keep a socket open after the first request so that subsequent requests to the same host (e.g. for additional resources from the same web site) can be made without the overhead of establishing a new TCP connection.

As web applications typically allow a web user to engage in a conversation with the web server, the stateless nature of HTML makes the handling of state a challenge that has to be handled using browser and server tricks such as sessions and session cookies.

HTTP is formally defined in two IETF Request for Comments: the first version of HTTP was defined in RFC 2068, this was updated in RFC 2616 which defines HTTP/1.1 (the current standard). More information about HTTP is to be found in Wikipedia.


Glossary : A | B | C | D | E | F | G | H | I | J | K | L | M | N | P | Q | R | S | T | U | V | W | X | Y | Z

glossary/http.txt · Last modified: 2011/01/14 12:47 by 127.0.0.1