Hypertext Transfer Protocol | |
Fonction | Transmission d'hypertexte |
---|---|
Sigle | HTTP |
Date de création | 1990 |
Port | 80 |
RFC | 1996: RFC 1945 1997: RFC 2068 1999: RFC 2616 |
modifier |
Pile de protocoles | ||||||||||||||
| ||||||||||||||
Modèle Internet Modèle OSI |
L'HyperText Transfer Protocol, plus connu sous l'abréviation HTTP, littéralement le « protocole de transfert hypertexte », est un protocole de communication client-serveur développé pour le World Wide Web. HTTPS (avec S pour secured, soit « sécurisé ») est la variante du HTTP sécurisée par l'usage des protocoles SSL ou TLS.
HTTP est un protocole de la couche application. Il peut fonctionner sur n'importe quelle connexion fiable, dans les faits on utilise le protocole TCP comme couche de transport. Un serveur HTTP utilise alors par défaut le port 80 (443 pour HTTPS).
Les clients HTTP les plus connus sont les navigateurs Web permettant à un utilisateur d'accéder à un serveur contenant les données. Il existe aussi des systèmes pour récupérer automatiquement le contenu d'un site tel que les aspirateurs de site Web ou les robots d'indexation.
Ces clients se connectent à des serveurs HTTP tels qu'Apache HTTP Server ou Internet Information Services.
HTTP a été inventé par Tim Berners-Lee avec les adresses Web et le langage HTML pour créer le World Wide Web. À cette époque, le File Transfer Protocol (FTP) était déjà disponible pour transférer des fichiers, mais il ne supportait pas la notion de format de données telle qu'introduite par Multipurpose Internet Mail Extensions (MIME). La première version de HTTP était très élémentaire, mais prévoyait déjà le support d'en-têtes MIME pour décrire les données transmises. Cette première version reste encore partiellement utilisable en 2007, connue sous le nom de HTTP/0.9.
En mai 1996, HTTP/1.0 devient finalement standard de l'IETF et est décrit dans la RFC 1945. Cette version supporte les serveurs HTTP virtuels, la gestion de cache et l'identification.
En janvier 1997, HTTP/1.1 est décrit dans la RFC 2068 de l'IETF, puis dans la RFC 2616 en juin 1999. Cette version ajoute le support du transfert en pipeline et la négociation de type de contenu (format de données, langue).
Dans le protocole HTTP, une méthode est une Commande spécifiant un type de requête, c'est-à-dire qu'elle demande au serveur d'effectuer une action. En général l'action concerne une ressource identifiée par l'URL qui suit le nom de la méthode.
GET
HEAD
POST
OPTIONS
CONNECT
TRACE
PUT
DELETE
Ces 2 dernières méthodes nécessitent généralement un accès privilégié.
Certains serveurs autorisent d'autres méthodes de gestion des ressources du serveur (par exemple WebDAV).