Annexes du site

Supports
Glossaire technologies Web
Espace de travail HTML/CSS + Démo

Sources

[1] Hypertext Transfer Protocol – HTTP/1.1 [Spécification] / R. Fielding (+ collaborateurs). IETF (Internet Engineering Task Force). HTML en ligne [Consultation en 2021]. https://tools.ietf.org/…/rfc2616.
[2] Uniform Resource Identifiers (URI): Generic Syntax [Spécification] / T. Berners-Lee (+ collaborateurs). IETF. HTML en ligne [Consultation en 2021]. https://tools.ietf.org/…/rfc2396.
[3] Uniform Resource Locators (URL) [Spécification] / T. Berners-Lee (+ collaborateurs). IETF. HTML en ligne [Consultation en 2021]. https://tools.ietf.org/…/rfc1738.
[4] URN Syntax [Spécification] / R. Moats (+ collaborateurs). IETF. HTML en ligne [Consultation en 2021]. https://tools.ietf.org/…/rfc2141.
[5] Uniform Resource Identifier [Article]. In : Wikipedia. HTML en ligne [Consultation en 2021]. https://en.wikipedia.org/…/Uniform-Resource-Identifier.
[6] Uniform Resource Locator [Article]. In : Wikipedia. HTML en ligne [Consultation en 2021]. https://en.wikipedia.org/…/Uniform-Resource-Locator.
[7] Uniform Resource Name [Article]. In : Wikipedia. HTML en ligne [Consultation en 2021]. https://en.wikipedia.org/…/Uniform-Resource-Name.

[Protocole HTTP][Section] Purpose

Le protocole HTTP est un protocole applicatif qui vient se positionner au-dessus du TCP/IP (protocole de plus bas niveau ayant pour fonction d'acheminer et de transporter les données à échanger dans le cadre d'une connexion client-serveur).

Source : [1].


[Protocole HTTP] Terminology

Conçu pour répondre au besoin de distribuer des ressources multimédias, sur la base d'un protocole qui existait déjà, le MIME (dans le domaine de la messagerie), le protocole HTTP met en jeu un certain nombre de notions clés parmi lesquelles :

  • la notion de connexion ;
  • les notions de message, de requête et de réponse ;
  • la notion de ressource ;
  • la notion d'entité ;
  • les notions de programme client (ou client), d'agent utilisateur, de programme serveur (ou serveur) ; ainsi que la notion de cache.

Connexion. Connexion virtuelle entre deux programmes dont la fonction est d'échanger des informations. On parle de connexion virtuelle parce que ces programmes font appel à des programmes intermédiaires, les logiciels de réseau, pour communiquer.

Message. Le message est l'unité de communication (PDU : Protocol Data Unit) du protocole HTTP. Cette unité est composée de quelques octets qui vont servir de support aux informations échangées. Ces informations sont organisées selon un format qui est fixé par le protocole.

Requête. Message servant à déclencher une requête vers un machine distante.

Réponse. Message répondant à une requête.

Ressource. Terme générique désignant soit un contenu (par exemple une page web ou plus spécifiquement une vidéo dans une page web), soit un service (c'est-à-dire un programme - par exemple un web service). Toute ressource est caractérisée par une adresse qu'on appelle une URI.

Entité. Terme désignant l'information qui est chargée soit dans une requête, soit dans une réponse. Une entité regroupe le contenu à transférer, d'une part, et les méta-informations, qui servent à le décrire, d'autre part. Ces méta-informations constituent une partie des champs d'en-têtes du message.

Programme client, appelé client le plus souvent. Programme dont la fonction est d'exécuter des requêtes.

Agent utilisateur. Programme faisant appel à un programme client pour déclencher des requêtes. Exemple d'agents utilisateur : les navigateurs web (Firefox, Internet Explorer, etc.) mais aussi les robots utilisés par les moteurs de recherche pour accéder au contenu des sites web.

Programme serveur, appelé serveur le plus souvent. Programme dont la fonction est de répondre à des requêtes. Exemple de serveur intégrant le protocole HTTP : le logiciel Apache.

Cache. Sous-programme d'un logiciel client ou d'un serveur dont la fonction est d'enregistrer les messages de façon à diminuer les temps de réponse et la consommation de bande passante sur le réseau.

Source : [1].


[URI] Overview of URI, URI Transcribability

URI. A Uniform Resource Identifier (URI) is a compact string of characters for identifying resource.

Resource. A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service.

Identifier. An identifier is an object that can act as a reference to something that has identity. In the case of URI, the object is a sequence of characters with a restricted syntax.

URI, URL and URN. A URI can be further classified as a locator, a name, or both. [...] The term "Uniform Resource Locator" (URL) refers to the subset of URI. [...] The term "Uniform Resource Name" (URN) refers to the subset of URI.

URI Transcribability. A URI is a sequence of characters from a very limited set, i.e. the letters of the basic Latin alphabet, digits, and a few special characters.

Source : [2].

Une URI est une chaîne de caractères qui permet d'identifier une ressource.

La notion de ressource intervient dans le cadre du client/serveur, qui est le modèle d'architecture (de base) du Web. Les serveurs, qui sont des logiciels, donnent accès à des ressources qu'ils retournent au logiciels client.

La notion de ressource est une notion très générale : elle peut représenter une page Web, un objet multimédia (image/vidéo/document audio), un document électronique (un PDF par exemple), un service Web, ou encore des données stockées dans une base données.

L'identifiant est une référence qui va permettre d'accéder à la ressource visée. Pour le définir, on privilégie les caractères standards alphanumériques (a-z et 0-9). (Certains caractères spéciaux sont autorisés, voir infra.)

La terme URI est une terme générique qui englobe les termes URL et URN. Les URL localisent les ressources (elles fournissent l'adresse du serveur qui les héberge) en même temps qu'elles indiquent leur nom, tandis que les URN indiquent seulement le nom des ressources.


[URL] General URL Syntax, URL Character Encoding Issues, HTTP

URLs are used to "locate" resources.

URLs are sequences of characters, i.e., letters, digits, and special characters.

The sequences of characters in different parts of a URL are used to represent sequences of octets used in Internet protocols.

Octets may be encoded by a character triplet consisting of the character "%" followed by the two hexadecimal digits which forming the hexadecimal value of the octet.

URLs are written only with the graphic printable characters of the US-ASCII coded character set.

The characters ";", "/", "?", ":", "@", "=" and "&" are the characters which may be reserved for special meaning within a scheme.

Only alphanumerics, the special characters "$-_.+!*'(),", and reserved characters used for their reserved purposes may be used unencoded within a URL.

An HTTP URL takes the form : http://<host>:<port>/<path>?<searchpart>

Source : [3].

Les URL sont des URI qui permettent de localiser et d'identifier les ressources du réseau des réseaux, l'Internet (inter-network).


[URN] Abstract

Uniform Resource Names (URNs) are intended to serve as persistent, location-independent, resource identifiers.

Source : [4].

Contrairement aux URL, les URN ne font intervenir ni protocoles ni adresse des serveurs (ordinateurs servant à héberger les ressources) ni le chemin d'accès aux ressources : elles ne font qu'indiquer le nom des ressources.