HTTP Concepts

HTTP is a transactional protocol based on the client-server model: A HTTP client sends a request, the HTTP server answers back with a response. The HTTP transaction is done when the response was completely transmitted.

An HTTP request allows to perform a certain action on a web resource located somewhere on the World Wide Web. The action is defined by one of the HTTP methods the protocol specifies and the web resource is defined by the URI (Uniform Resource Identifier).

The following information is not intended to be a complete documentation on HTTP but a rapid overview. Please refer to the RFC or more complete documentations for additional details (see section External References).

HTTP Methods

MethodDescription
GETUse  to fetch a resource from an HTTP server.
POST / PUTUse to send data to the HTTP server. Can also be use to update/create new web resource on the HTTP server.
DELETEUse to delete a existing resource on the HTTP server.
HEADUse to fetch only the header part of the HTTP response (without the body) of a traditional GET request.

Other methods exist but are not covered here.

URI (Uniform Resource Identifier)

The URI is the name of a resource to uniquely identify and locate it around the Web. An URL (Uniform Resource Locator) is the most common type of URI. It describes the resource location on a particular server.

An URL has three parts :

  • Scheme: protocol to use to access the resource.
  • Host: Server location (DNS host name or IP address).
  • Path: Path to the resource inside the server.

HTTP Message Format

Two types of HTTP messages exist: request and response.

Like the protocol name suggests, HTTP messages are in plain text, only the body can be binary data.

HTTP Request Message Format

HTTP Response Message Format

More HTTP concepts

Refer to the sub-sections for more information on more HTTP concepts: