>> Technologie Électronique >  >> GPS (systèmes de positionnement) >> RFID

HTTP : Le protocole qui alimente le Web — Comment ça marche

Le **Hypertext Transfer Protocol (HTTP)** est le protocole couche application qui définit comment clients (navigateurs, apps) et serveurs communiquent sur le World Wide Web. C'est le langage du web.

Modèle cœur : Requête–Réponse

HTTP suit un cycle **client-serveur, sans état, requête-réponse** :

  1. Client (User Agent) initie une **connexion TCP** (généralement port 80 HTTP, 443 HTTPS) vers IP serveur (résolue via DNS depuis URL).
  2. Client envoie requête HTTP :
    GET /article/how-http-works HTTP/1.1
    Host: example.com
    User-Agent: Mozilla/5.0
    ...
    Accept: text/html,application/xhtml+xml
    Accept-Language: en-US,en;q=0.9
    Cookie: session_id=abc123
    
  3. Serveur traite requête (routage handler, requête BD, rendu template, vérif auth).
  4. Serveur envoie réponse HTTP :
    HTTP/1.1 200 OK
    Date: Mon, 27 May 2024 12:00:00 GMT
    Server: nginx/1.24.0
    Content-Type: text/html; charset=UTF-8
    Content-Length: 14523
    Cache-Control: private, max-age=0
    Set-Cookie: session_id=abc123; HttpOnly; Secure
    ...contenu page...
    
  5. Client reçoit, parse, rend. Si HTML référence autres ressources (CSS, JS, images, polices), **nouvelles requêtes** tirées (souvent en parallèle).
  6. Connexion réutilisée (Keep-Alive) ou fermée.

Méthodes HTTP clés (Verbes)

MéthodeButIdempotente ?Sûre ?
GETRécupérer ressourceOuiOui
POSTSoumettre données (formulaires, API)NonNon
PUTRemplacer ressource entièrementOuiNon
PATCHMise à jour partielleNon*Non
DELETESupprimer ressourceOuiNon
HEADEn-têtes seulement (pas corps)OuiOui
OPTIONSDécrire méthodes autorisées (CORS)OuiOui

Codes statut : Le résultat 3 chiffres

  • 1xx Informationnel : 100 Continue
  • 2xx Succès : 200 OK, 201 Created, 204 No Content
  • 3xx Redirection : 301 Moved Permanently, 302 Found, 304 Not Modified (cache)
  • 4xx Erreur client : 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests
  • 5xx Erreur serveur : 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout

Évolution : HTTP/1.1 → HTTP/2 → HTTP/3

VersionAnnéeAméliorations clés
HTTP/1.11997Connexions persistantes, encodage chunked, en-tête Host (hébergement virtuel), pipelining (défectueux)
HTTP/2 (h2)2015**Cadrage binaire**, **multiplexage** (flux parallèles sur 1 connexion TCP), compression en-têtes (HPACK), server push, priorisation. Nécessite TLS (h2) en pratique.
HTTP/3 (h3)2022**QUIC (UDP)** au lieu TCP : **handshake 0-RTT**, pas de blocage head-of-line, TLS 1.3 intégré, migration connexion (changement IP).

HTTPS : HTTP + TLS

**Pas un protocole séparé.** HTTP sur **TLS (Transport Layer Security)**. Chiffre requête/réponse, authentifie serveur (certificat), assure intégrité. **Standard aujourd'hui** — navigateurs marquent HTTP « Non sécurisé ».

Pourquoi sans état ? Scalabilité.

Pas de mémoire session côté serveur entre requêtes. État géré via **cookies, tokens (JWT), stockage côté client, ou magasins session serveur (Redis) clé par cookie**. Permet mise à l'échelle horizontale (ajout serveurs derrière load balancer).

La simplicité, extensibilité (en-têtes, méthodes), et absence d'état d'HTTP ont permis au web de passer à milliards d'appareils. QUIC/HTTP/3 s'attaque maintenant au dernier goulot : blocage head-of-line TCP.

RFID