Hypertext Transfer Protocol (HTTP) est un protocole de la couche application servant à transmettre des documents hypermedia, 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, avec un client qui ouvre une connexion, fait une requête et attends jusqu'à recevoir une réponse. C'est aussi un protocole sans état, ce qui signifie que le serveur ne conserve aucune données (état) entre deux requêtes. Bien que généralement basé sur une couche TCP/IP, il peut aussi être utilisé sur toute couche de transport fiable,qui est un protocole qui ne perd pas de messages silencieusement.
Tutoriels
Apprenez comment utiliser HTTP avec des guides et des tutoriels.
- Aperçu du protocole HTTP
- Présentation des fonctionnalités basiques du protocole client-serveur : ce qu'il peut faire et pour quels utilisations il est prévu.
- Evolution du protocole HTTP
- Description rapide des changements entre HTTP dans ses premières versions et le moderne HTTP/2.
- Les différents messages HTTP
- Description du type et de la structure des différentes sortes de messages de HTTP/1.x et HTTP/2.
- Démonstration de session HTTP
- Démonstration et explication du déroulement classique d'une session HTTP.
- Gestion des connexions HTTP/1.x
- Description des forces et faiblesses des trois modèles de management de connexion disponible dans HTTP/1.x.
- Le cache HTTP
- Le cache est l'un des outils majeurs pour de bonnes performances sur les sites Web. Cet article présente les différents types de cache et comment utiliser les entêtes HTTP pour configurer et utiliser le cache.
- Les cookies et HTTP
- Le fonctionnement des cookies est défini par le RFC 6265. Lors de la réception d'une requête HTTP, un serveur peut envoyer un entête
Set-Cookieavec la réponse. En suite le client renvoie la valeur du cookie, dans la forme d'un en-tête HTTPCookie,avec chaque requête vers le même serveur. Un délai d'expiration peut être spécifié. Un cookie peut aussi être restreint à un domaine spécifique et un chemin (path). - Contrôle d'accès HTTP (CORS)
- Les requêtes HTTP de type Cross-site sont des requêtes HTTP pour des ressources depuis un domaine différent du domaine de la ressource qui fait la demande. Par exemple, une ressource chargée depuis un domaine A (
http://domaina.example/), comme une page HTML, fait une requête pour une ressource sur un domaine B (http://domainb.foo/), comme une image, en utilisant la baliseimg(http://domainb.foo/image.jpg). Ceci est très courant sur le web de nos jours — les pages chargent de nombreuses ressources en utilisant les requêtes cross-site, notamment des feuilles de style CSS, des images, des scripts et d'autres ressources. - Pré-chargement DNS (prefetching)
- Firefox et la majorité des autres navigateurs modernes utilisent le DNS prefetching. Cela signifie que les navigateurs réalisent de façon pro-active la résolution de nom de domaine sur un lien que l'utilisateur pourrait choisir de suivre et sur les références des ressouces comme les images, CSS et JavaScript. Ce pré-chargement est réalisé en arrière-plan ainsi, la recherche DNS est déjà résolue au moment où cet élément est demandé. Cela réduit la latence lorsque, par exemple l'utilisateur clique sur un lien.
Références
Naviguez dans la documentation détaillée de HTTP.
- En-tête 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 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.
- Les méthodes de requête HTTP
- Différentes opérations peuvent être faites avec HTTP :
GET,POST, mais aussi moins couramment des requêtes commeOPTIONS,DELETEouTRACE. - 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.
Outils & ressources
Outils utiles pour utiliser et debbugger vos connextions HTTP.
- Firefox Developer Tools
- Network monitor
- RedBot
- Un outil pour vérifier vos en-têtes relatifs aux caches