Liens externes sur protocole HTTP et URI

IETF, Hypertext Transfer Protocol -- HTTP/1.1 [Terminologie du protocole.]

Le protocole HTTP :

  • est un protocole applicatif qui vient se positionner au-dessus du TCP/IP, qui est un protocole réseau ;
  • s'utilise dans un contexte de distribution des ressources de l'entreprise ;
  • a été introduit au début des années 90 ;
  • et sa spécification se fonde un un protocole déjà existant, le protocole MIME (protocole applicatif utilisé dans le domaine de la messagerie).

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 décrivent le contenu, 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.

IETF, Uniform Resource Identifiers (URI)

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

[Commentaires.

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

La notion de ressource intervient dans la définition du modèle d'architecture client/serveur. Les serveurs, qui sont des logiciels, donnent accès à des ressources qu'ils retournent au logiciels client.]

Une ressource peut désigner une page Web, une image/vidéo/bande audio, un document électronique, un Web service, ou encore des données stockées dans une base données.

L'identifiant agit comme une référence qui va permettre d'accéder à la ressource visée. L'identifiant d'une ressource est constitué de caractères. Quelques caractères spéciaux sont autorisés, mais sinon, il faut se limiter aux caractères alphanumériques les plus basiques).

La terme URI est une terme générique qui englobe les termes URL et URN. La notion d'URL met l'accent sur le moyen utilisé pour accéder aux ressources, tandis que la notion d'URN met l'accent sur le nom de la ressource.]

IETF, Uniform Resource Locators (URL)

" 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> "

[Commentaire. Les URL sont des URI qui servent à localiser les ressources fournies par Internet.]

IETF, URN Syntax

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

[Commentaire. La syntaxe des URN -- par opposition à celle des URL -- ne fait intervenir ni les protocoles, ni l'adresse des machines qui héberge les ressources, ni le chemin d'accès aux ressources.]