Qu'est-ce que HTTP (Hypertext Transfer Protocol) ?
Protocole de la couche application qui sert à échanger du HTML, des images et des données entre un navigateur web et un serveur web, entre autres. Le client envoie une requête composée d'une méthode, d'une URL, d'en-têtes et d'un corps, et le serveur renvoie une réponse composée d'un code d'état, d'en-têtes et d'un corps. Le protocole est sans état : un état comme la connexion d'un utilisateur est conservé au moyen de cookies, entre autres. HTTP/1.1 utilise un format texte et des connexions persistantes, HTTP/2 multiplexe plusieurs flux sur une seule connexion TCP, et HTTP/3 utilise QUIC sur UDP. HTTP protégé par TLS s'appelle HTTPS.
Nom japonais: HTTP
« HTTP (Hypertext Transfer Protocol) » apparaît dans 14 questions d'entraînement réparties sur 2 thèmes, dont Bases des technologies web, Bases des réseaux informatiques.
Domaine: Bases des technologies web
Forme des requêtes et des réponses
Une requête se compose, dans cet ordre, d'une ligne de requête comme « GET /index.html HTTP/1.1 », d'en-têtes comme Host ou Accept, d'une ligne vide et du corps. Une réponse se compose d'une ligne d'état comme « HTTP/1.1 200 OK », d'en-têtes comme Content-Type ou Cache-Control, et du corps. Les en-têtes ont la forme « Nom: valeur » et indiquent le type du corps, le traitement par les caches, les informations d'authentification, la méthode de compression, etc.
Questions fréquentes
Quelle est la différence entre HTTP et HTTPS ?
HTTPS chiffre les échanges HTTP avec TLS et y ajoute la détection des falsifications et l'authentification du serveur. La forme des requêtes et des réponses est la même qu'en HTTP, et les numéros de port par défaut sont 80 pour HTTP et 443 pour HTTPS. Pour protéger les mots de passe et les cookies, les sites web utilisent généralement HTTPS.
Quand utiliser GET et quand utiliser POST ?
GET est une méthode de lecture de ressources, considérée comme « sûre » parce qu'elle ne modifie pas l'état du serveur ; les navigateurs et les caches peuvent la renvoyer plusieurs fois ou en conserver le résultat. POST s'utilise lorsqu'on demande un traitement au serveur ou qu'on enregistre des données, comme une commande ou une publication. Les paramètres d'une requête GET figurent dans l'URL et restent dans les journaux d'accès et l'historique de navigation : on n'y met donc pas d'informations secrètes comme un mot de passe.