Le protocole de transfert hypertexte (HTTP) est un protocole réseau de niveau application utilisé pour le transfert de contenu sur le World Wide Web.

Le HyperText Transfer Protocol(HTTP) utilise un modèle de requête client / réponse serveur. Le protocole est sans état, ce qui signifie qu'il ne nécessite pas que le serveur conserve les informations ou le statut de chaque utilisateur pendant la durée de plusieurs demandes. Cependant, pour des raisons de performances et pour éviter les problèmes de latence de connexion de TCP, des techniques telles que les connexions persistantes, parallèles ou en pipeline peuvent être utilisées.

La demande est envoyée avec une méthode HTTP:

  • HEAD - utilisé pour récupérer l'en-tête de réponse GET sans le contenu réel (c'est-à-dire uniquement les métadonnées du contenu).
  • GET - utilisé pour récupérer des données, où le corps de la demande est ignoré.
  • POST - utilisé pour envoyer des données, contenues dans le corps de la demande, au serveur.

Ce sont toutes les méthodes prises en charge par les anciens navigateurs, mais la spécification HTTP 1.1en inclut quelques autres: PUT, DELETE, TRACE, OPTIONS, CONNECT et PATCH.

La réponse est retournée avec un code d'état:

  • 1xx sont informatifs
  • 2xx indique le succès, la plupart des pages auront un statut 200
  • 3xx sont utilisés pour les redirections
  • Les codes 4xx sont utilisés pour les erreurs avec la demande, le plus courant étant 404 pour "Page non trouvée"
  • 5xx sont utilisés pour les erreurs de serveur

La demande et la réponse sont composées d'un en-tête et d'un corps facultatif.

L'en-tête contient une liste de paires clé-valeur, séparées à l'aide de nouvelles lignes et de deux points. Par exemple, une demande peut avoir des en-têtes comme celui-ci:

Proxy-Connection: keep-alive
Referer: URL
User-Agent: browser name or client application
Accept-Encoding: gzip,deflate
Accept-Language: en-GB

Notez que dans l'exemple, la demande indique au serveur que la réponse peut être envoyée avec le corps compressé avec le codage gzip ou DEFLATE.

La demande a besoin d'un corps si elle envoie des données supplémentaires au serveur, par exemple, si elle envoie des informations saisies dans un formulaire.

Les en-têtes de réponse incluront des informations indiquant au client comment traiter les données de réponse, par exemple, s'il peut mettre en cache les données (et pendant combien de temps).

Le corps de réponse aura les données demandées, telles que le HTML d'une page Web ou des données d'image.

HTTP est utilisé par les navigateurs pour récupérer du contenu Web, mais peut également être utilisé pour les API de données, par exemple, comme soapou rest.

Versions

Ressources

Tags associés

https