Hypertext Transfer Protocol (HTTP) est un protocole de la couche application servant à transmettre des documents hypermédia, comme HTML. Il a été conçu pour communiquer entre les navigateurs web et les serveurs web, bien qu'il puisse être utilisé à d'autres fins. Il suit le modèle classique client-serveur, un client ouvre une connexion, effectue une requête et attend jusqu'à recevoir une réponse. Il s'agit aussi d'un protocole sans état, ce qui signifie que le serveur ne conserve aucune donnée (on parle d'état) entre deux requêtes. Bien que généralement basé sur une couche TCP/IP, HTTP peut aussi être utilisé sur toute couche de transport fiable, garantissant qu'aucune donnée ne peut être perdue en chemin, contrairement à UDP par exemple.

Tutoriels

Apprenez comment utiliser HTTP avec des guides et des tutoriels.

Aperçu du protocole HTTP
Les fonctionnalités de base de ce protocole client-serveur : ce qui est permis par HTTP ainsi que le cadre d'utilisation de ce protocole.
La mise en cache avec HTTP
La mise en cache est critique pour permettre aux sites web d'être rapides. Cet article décrit les différentes méthodes de mise en cache et comment utiliser les en-têtes HTTP afin de contrôler le cache.
Les cookies HTTP
Le fonctionnement des cookies est décrit dans la RFC 6265. Lorsqu'un serveur répond à une requête HTTP, ce dernier peut envoyer un en-tête Set-Cookie avec la réponse. Le client retourne alors la valeur du cookie lors de chaque requête vers ce serveur via un en-tête Cookie dans la requête. Le cookie peut posséder une date d'expiration, être restreint à un domaine spécifique ou à un chemin d'accès donné.
Cross-Origin Resource Sharing (CORS)
Les requêtes HTTP cross-sites sont des requêtes HTTP pour des ressources situées dans un domaine différent de celui dans lequel se situe la ressource qui effectue la requête. Par exemple, une page HTML d'un domaine A (http://domainea.example/) effectue une requête pour une image au sein du domaine B (http://domaineb.foo/image.jpg) à l'aide de la balise img. Les pages web actuelles effectuent souvent des requêtes cross-sites pour charger des éléments comme des feuilles de style CSS, des images, des scripts ou d'autres ressources. CORS permet aux développeurs web de contrôler comment leur site doit se comporter lorsqu'il reçoit des requêtes cross-sites.
Évolution du protocole HTTP
Une brève description des changements qui ont eu lieu entre les toutes premières versions de HTTP jusqu'à la version HTTP/2 et au-delà.
Guide de sécurité Mozilla pour le Web
Une liste d'astuces visant à aider les équipes opérationnelles afin de créer des applications web mieux sécurisées (en anglais).
Les messages HTTP
Une description des types et structures de chaque message pour HTTP/1.x et HTTP/2.
Une session HTTP classique
Un exemple et l'explication du déroulement d'une session HTTP classique.
La gestion des connexions pour HTTP/1.x
Un aperçu des trois modèles de gestion de connexion disponibles pour HTTP/1.x ainsi que leurs forces et faiblesses respectives.

Référence

Naviguez dans la documentation détaillée de HTTP.

Les en-têtes HTTP
Les messages d'en-tête HTTP sont utilisés pour décrire précisément la ressource ou le comportement du client ou du serveur. Un en-tête propriétaire sur mesure peut être ajouté en utilisant le préfixe X- ; d'autres en-têtes sont disponibles dans le registre de l'IANA, dont le contenu original a été défini dans le RFC 4229. L'IANA maintient aussi un registre des nouveaux messages d'en-tête HTTP qui sont proposés.
Les méthodes de requête HTTP
Différentes opérations peuvent être effectuées avec HTTP : les plus connues GET, POST, mais aussi des requêtes comme OPTIONS, DELETE ou TRACE.
Les codes de réponse HTTP
Les codes de réponses HTTP indiquent si une requête HTTP a été complétée avec succès. Les réponses sont regroupées en cinq classes : les réponses informationnelles, les réponses de succès, les redirections, les erreurs client et les erreurs serveur.
Les directives CSP
Les champs de l'en-tête de réponse Content-Security-Policy permettent aux administrateurs de contrôler les ressources accessibles pour un agent utilisateur au sein d'une page donnée. De manière générale, il s'agit de directives relatives à l'origine du serveur ainsi qu'aux points de terminaison des scripts.

Outils et ressources

Outils utiles pour utiliser et déboguer HTTP.

Firefox Developer Tools
Moniteur réseau
Mozilla Observatory

Un projet conçu pour aider les développeurs, les administrateurs système ainsi que les professionnels de la sécurité à configurer leur site de manière sûre et sécurisée.

RedBot
Des outils pour vérifier vos en-têtes liés à la gestion du cache.
How Browsers Work
Un article détaillé sur le fonctionnement d'un navigateur et l'organisation des requêtes HTTP durant la navigation. Un article à lire pour tout développeur web (en anglais).

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Alpha, amouillard, Hell_Carlito, eagleusb, dattaz, SphinxKnight, jswisher
 Dernière mise à jour par : Alpha,