Revision 1088747 of Basics of HTTP

  • Revision slug: Web/HTTP/Basics_of_HTTP
  • Revision title: Basics of HTTP
  • Revision id: 1088747
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment
Tags: 

Revision Content

{{HTTPSidebar}}

HTTP is a pretty extensible protocol. It relays on a few basics concept like the notion of resource and URIs, a simple structure of message and a client-server structure for the communication flow. On top of these basics concepts, numerous extensions have appeared over the year, adding functionnality and new semantics by creating new HTTP methods or headers.

 

Articles

Overview of HTTP
Describes what HTTP is and its role in the Web architecture, its position in the protocol stack.
Evolution of HTTP
HTTP was created in the early 1990s and has been extended several times. This article goes through its history and describe HTTP/0.9, HTTP/1.0, HTTP/1.1, and the modern HTTP/2 as well as minor novelties introduced over the years.
Negotiating an HTTP version
Explains how a client and a server can negotiate a specific HTTP version and eventually upgrade the protocol version used.
Resources and URIs
A brief introduction of the notion of resources, its identifier, and the notion of location on the Web.
Identifying resources on the Web
Describes how Web resources are referenced and how to locate them.
Data URIs
A specific kind of URIs that directly embed the resource it represents. Data URIs are very convenient but have some caveats.
Separating identity and location of a resource: the Alt-Svc HTTP header
If most of the time identity and location of a Web resource, this can be changed with the {{HTTPHeader("Alt-Svc")}} header. This article explains how it works
MIME types — Describing the type of the content
Since HTTP/1.0, different type of content can be transmitted. This article explains {{HTTPHeader("Content-Type")}} and the MIME standard.
Choosing between www and non-www URLs
Beginners often believed www must be used for a Web site; this article explains the notion of DNS and good practice for redirecting non-www address to their www counterparts.
Flow of an HTTP session
This fundamental article describes a typical HTTP session: what happens behind the hood when you click on a link in your browser…
HTTP Messages
HTTP Messages transmitted during requests or responses have a very clear structure; this introductory article describes this structure, its purpose and its possibilities.
Frame and message structure in HTTP/2
HTTP/2 encapsulates and represents HTTP/1.x messages in a binary frame. This article explains the frame structure, its purpose and the way it is encoded.
Connection management in HTTP/1.1
HTTP/1.1 was the first version of HTTP to support persistent connection and pipelining. This article explains these two concepts.
Connection management in HTTP/2
HTTP/2 completely revisited how connections are created and maintained: this article explains how HTTP frames allow multiplexing and solve the 'head-of-time' blocking problem of former HTTP versions.
Content Negotiation
HTTP introduces a set of header, starting with Accept- as a way for a browser to announce the format, language, or encoding it prefers. This article explains how this advertisement happens and how the server is expected to react and how it will choose the most adequate response.

Revision Source

<p>{{HTTPSidebar}}</p>

<p>HTTP is a pretty extensible protocol. It relays on a few basics concept like the notion of resource and URIs, a simple structure of message and a client-server structure for the communication flow. On top of these basics concepts, numerous extensions have appeared over the year, adding functionnality and new semantics by creating new HTTP methods or headers.</p>

<p>&nbsp;</p>

<h2 id="Articles">Articles</h2>

<dl>
 <dt>Overview of HTTP</dt>
 <dd>Describes what HTTP is and its role in the Web architecture, its position in the protocol stack.</dd>
 <dt><a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP">Evolution of HTTP</a></dt>
 <dd>HTTP was created in the early 1990s and has been extended several times. This article goes through its history and describe HTTP/0.9, HTTP/1.0, HTTP/1.1, and the modern HTTP/2 as well as minor novelties introduced over the years.</dd>
 <dt><strong>Negotiating an HTTP version</strong></dt>
 <dd>Explains how a client and a server can negotiate a specific HTTP version and eventually upgrade the protocol version used.</dd>
 <dt>Resources and URIs</dt>
 <dd>A brief introduction of the notion of resources, its identifier, and the notion of location on the Web.</dd>
 <dt>Identifying resources on the Web</dt>
 <dd>Describes how Web resources are referenced and how to locate them.</dd>
 <dt><a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs">Data URIs</a></dt>
 <dd>A specific kind of URIs that directly embed the resource it represents. Data URIs are very convenient but have some caveats.</dd>
 <dt>Separating identity and location of a resource: the Alt-Svc HTTP header</dt>
 <dd>If most of the time identity and location of a Web resource, this can be changed with the {{HTTPHeader("Alt-Svc")}} header. This article explains how it works</dd>
 <dt>MIME types — Describing the type of the content</dt>
 <dd>Since HTTP/1.0, different type of content can be transmitted. This article explains {{HTTPHeader("Content-Type")}} and the MIME standard.</dd>
 <dt><a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs">Choosing between www and non-www URLs</a></dt>
 <dd>Beginners often believed www must be used for a Web site; this article explains the notion of DNS and good practice for redirecting non-www address to their www counterparts.</dd>
 <dt>Flow of an HTTP session</dt>
 <dd>This fundamental article describes a typical HTTP session: what happens behind the hood when you click on a link in your browser…</dd>
 <dt>HTTP Messages</dt>
 <dd>HTTP Messages transmitted during requests or responses have a very clear structure; this introductory article describes this structure, its purpose and its possibilities.</dd>
 <dt>Frame and message structure in HTTP/2</dt>
 <dd>HTTP/2 encapsulates and represents HTTP/1.x messages in a binary frame. This article explains the frame structure, its purpose and the way it is encoded.</dd>
 <dt>Connection management in HTTP/1.1</dt>
 <dd>HTTP/1.1 was the first version of HTTP to support persistent connection and pipelining. This article explains these two concepts.</dd>
 <dt>Connection management in HTTP/2</dt>
 <dd>HTTP/2 completely revisited how connections are created and maintained: this article explains how HTTP frames allow multiplexing and solve the 'head-of-time' blocking problem of former HTTP versions.</dd>
 <dt>Content Negotiation</dt>
 <dd>HTTP introduces a set of header, starting with <code>Accept-</code> as a way for a browser to announce the format, language, or encoding it prefers. This article explains how this advertisement happens and how the server is expected to react and how it will choose the most adequate response.</dd>
</dl>
Revert to this revision