Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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 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).

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

HTTP Headers

HTTP headers fields are included in HTTP requests and responses and they defined additional parameters for the HTTP transaction. They are used for authentication, cookies, accepted file types and the list go on. Some are specific to requests, others to responses and some are global to both. See section Headers for more details.


  • No labels