Sobes.tech
Junior

De quels composants se compose une requête HTTP?

sobes.tech IA

Réponse de l'IA

La requête HTTP se compose des composants suivants :

  1. Ligne de début (Request Line) : Définit le type de requête et la ressource. Elle se compose de :

    • Méthode HTTP (HTTP Method) : L'action à effectuer sur la ressource (par exemple, GET, POST, PUT, DELETE).
    • Chemin de la ressource (Path) : L'URL du ressource demandée sur le serveur.
    • Version HTTP (HTTP Version) : La version du protocole HTTP utilisée pour la requête (par exemple, HTTP/1.1, HTTP/2.0).
    // Exemple de ligne de début
    GET /index.html HTTP/1.1
    
  2. En-têtes de la requête (Request Headers) : Fournissent des informations supplémentaires sur le client, la requête ou la ressource. Les paramètres de l'en-tête sont présentés au format "Nom : Valeur". Principaux en-têtes :

    • Host : Le nom de domaine du serveur.
    • User-Agent : Informations sur le client (navigateur, OS).
    • Accept : Types de médias que le client est prêt à accepter.
    • Content-Type : Type de média du contenu du corps de la requête (pour les méthodes PUT, POST).
    • Content-Length : La longueur du corps de la requête en octets.
    • Authorization : Identifiants pour l'authentification.
    // Exemples d'en-têtes de requête
    Host: www.exemple.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Ligne vide (Empty Line) : Sépare les en-têtes de la requête et le corps de la requête. Elle est obligatoire, même si le corps est absent.

  4. Corps de la requête (Request Body) : Contient les données envoyées au serveur, comme des données de formulaire, JSON pour les requêtes POST/PUT. N'est pas présent pour toutes les méthodes (par exemple, absent pour GET).

    // Exemple de corps de requête (pour POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

Schématiquement, la structure d'une requête HTTP peut être représentée ainsi :

Composant Description Obligation
Ligne de début Méthode, chemin de la ressource, version HTTP Toujours
En-têtes de la requête Informations supplémentaires sur la requête/le client Optionnel
Ligne vide Séparateur Toujours
Corps de la requête Données envoyées au serveur Optionnel