Aller au contenu

HTTP / HTTPS

HTTP (HyperText Transfer Protocol) est le protocole applicatif utilisé pour échanger des ressources sur le web : pages, images, appels API. Il fonctionne au-dessus de TCP (port 80 par défaut).

Chaque échange HTTP est une paire requête → réponse.

Méthodes principales :

Méthode Usage
GET Récupérer une ressource, sans effet de bord
POST Créer une ressource / soumettre des données
PUT Remplacer entièrement une ressource
PATCH Modifier partiellement une ressource
DELETE Supprimer une ressource

Familles de codes de statut :

  • 1xx — Information
  • 2xx — Succès (200 OK, 201 Created, 204 No Content)
  • 3xx — Redirection (301 Moved Permanently, 302 Found, 304 Not Modified)
  • 4xx — Erreur côté client (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found)
  • 5xx — Erreur côté serveur (500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable)

HTTPS = HTTP encapsulé dans une session TLS (port 443 par défaut). Voir TLS / SSL pour le détail du chiffrement.

Ce que HTTPS apporte concrètement :

  • Confidentialité : le contenu échangé n’est pas lisible en clair sur le réseau.
  • Intégrité : impossible de modifier les données en transit sans que ce soit détecté.
  • Authenticité : le certificat prouve (via une autorité de certification) que le serveur est bien celui qu’il prétend être.
  • HTTP/1.1 : une connexion TCP par requête (ou réutilisée en keep-alive), sujet au head-of-line blocking.
  • HTTP/2 : multiplexage de plusieurs requêtes sur une seule connexion TCP, compression des en-têtes.
  • HTTP/3 : repose sur QUIC (au-dessus d’UDP) au lieu de TCP, pour éliminer le blocage de tête de ligne au niveau transport et accélérer l’établissement de connexion.