Sobes.tech
Intern

Qu'est-ce que HTTP?

sobes.tech IA

Réponse de l'IA

Protocole de transfert hypertexte. Protocole réseau de niveau application pour l'échange de données.

Caractéristiques principales :

  • Architecture client-serveur : Le client (par exemple, un navigateur) envoie une requête au serveur, qui traite la requête et renvoie une réponse.
  • Sans état (stateless) : Chaque requête est traitée indépendamment des précédentes. L'état de la session est maintenu à des niveaux supérieurs (par exemple, à l'aide de cookies).
  • Utilise TCP : Le protocole de transport par défaut est TCP, garantissant une livraison fiable des données.
  • Port 80 : Port standard pour HTTP.
  • Méthodes de requête (HTTP methods/verbs) : Définissent le type d'action à effectuer sur la ressource.
    • GET : Récupérer des données de la ressource spécifiée.
    • POST : Envoyer des données pour traitement ou création d'une nouvelle ressource.
    • PUT : Mettre à jour une ressource existante ou en créer une nouvelle à l'URI spécifié.
    • DELETE : Supprimer la ressource spécifiée.
    • PATCH : Mise à jour partielle de la ressource.
    • HEAD : Demande des en-têtes de réponse, similaire à GET, mais sans corps.
    • OPTIONS : Demande d'informations sur les méthodes disponibles et autres options de communication pour la ressource cible.
  • Codes de statut de réponse (Status Codes) : Nombres à trois chiffres indiquant le résultat de la requête.
    • 1xx : Information
    • 2xx : Succès - 200 OK
    • 3xx : Redirection
    • 4xx : Erreur client - 404 Not Found
    • 5xx : Erreur serveur - 500 Internal Server Error

Structure du message HTTP :

Partie Requête (Request) Réponse (Response)
Ligne de départ Méthode URI Version HTTP (par exemple, GET / HTTP/1.1) Version HTTP Code de statut Phrase de statut (par exemple, HTTP/1.1 200 OK)
En-têtes Par "Nom-Valeur" (par exemple, Host: example.com) Par "Nom-Valeur" (par exemple, Content-Type: text/html)
Ligne vide Sépare les en-têtes du corps. Sépare les en-têtes du corps.
Corps Facultatif. Contient des données à envoyer (par exemple, formulaires). Facultatif. Contient les données demandées (par exemple, page HTML).

Exemple de requête HTTP :

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Exemple de réponse HTTP :

HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Index Page</title>
</head>
<body>
    HelloWorld!
</body>
</html>

Utilisé pour transmettre des documents hypermédia (HTML, images, vidéos) sur le World Wide Web. HTTPS est la version sécurisée de HTTP utilisant le chiffrement (SSL/TLS).