Documentation sur les requêtes HTTP : Qu'est-ce qu'une requête HTTP ?

répertoire (sur le disque dur de l'ordinateur)

  1. Définition d'une requête HTTP
    • concept de base
    • Explication de l'analogie (exemple de commande en ligne)
  2. Structure d'une requête HTTP
    • Ligne de la demande, en-tête de la demande, corps de la demande
    • Comparaison des méthodes de demande les plus courantes
  3. Fonctionnement des requêtes HTTP
    • Processus d'interaction client-serveur
    • Codes d'état et mécanismes de réponse
  4. Types courants de requêtes HTTP
    • OBTENIR, AFFICHER, PLACER, SUPPRIMER
    • Déclaration de sécurité et d'idempotence
  5. Applications pratiques et outils de débogage
    • Outils pour les développeurs de navigateurs
    • Exemple de Postman et cURL
  6. Sécurité et bonnes pratiques
  7. Foire aux questions (FAQ)

1) Définition d'une requête HTTP

concept de base

La requête HTTP est un format de communication standard permettant aux clients (par exemple, les navigateurs, les applications) d'initier des commandes d'opération au serveur, en suivant les règles du protocole HTTP. Il s'agit de la pierre angulaire de l'interaction des données sur le web, qui détermine les ressources que le client souhaite obtenir ou les opérations à effectuer.

analogie

Supposons que vous passiez une commande sur une plateforme de commerce électronique :

  • Vous (client) : soumettez une commande (demande d'achat d'un article)
  • Système de commande (requête HTTP) : spécifier l'identifiant du produit, la quantité, l'adresse de livraison (paramètres structurés)
  • Entrepôt (côté serveur) : analyse les commandes et les traite, renvoie les colis (données de réponse).
    Une requête HTTP est comme une commande, elle indique au serveur ce qui doit être fait dans un format standard.

2) Structure des requêtes HTTP

Trois composantes principales

http

GET /api/produits/123 HTTP/1.1 --> ligne de requête
Host : api.example.com --> en-tête de la requête
User-Agent : Mozilla/5.0
Accept : application/json

{ --> corps de la requête (uniquement pour certaines méthodes)
  "name" : "Nouveau produit"
}

1. ligne de demande

  • Méthodes : définir le type d'opération (par exemple GET, POST)
  • Chemin : adresse de la ressource (par exemple, /api/produits)
  • Version du protocole : HTTP/1.1 ou HTTP/2

2. les en-têtes de la demande

  • Transmission des métadonnées :
    • Content-Type : format des données (par exemple application/json)
    • Autorisation : jeton d'authentification
    • Cache-Control : Politique de mise en cache

3. l'ensemble des demandes

  • Uniquement pour POST, PUT, etc.
  • Transporter des données structurées (JSON, XML, etc.)

3. le fonctionnement des requêtes HTTP

processus interactif

  1. Le client construit la demande : définir la méthode, l'URL, les en-têtes, les données.
  2. Envoi au serveur : transmission via le protocole TCP/IP
  3. Traitement côté serveur : vérification des autorisations, exécution de la logique, interrogation de la base de données.
  4. Réponse en retour : contient le code d'état et les données de résultat

Code de statut Classification

code d'étatformulaireexemple typique
2xxsuccès200 OK (requête réussie)
3xxredirections301 Moved Permanently
4xxerreur côté client404 La ressource n'existe pas
5xxerreur côté serveur500 Erreur interne du serveur

4. les types courants de requêtes HTTP

Comparaison des méthodes de base

les méthodologiesutiliseridempotence (math.)la sécuritésoutien du demandeur
GETAccès aux ressourcesêtreêtrebouché
POSTCréer des ressources ou soumettre des donnéesbouchébouchéêtre
PUTMettre à jour l'ensemble de la ressourceêtrebouchéêtre
DELETESupprimer les ressourcesêtrebouchébouché

exemple de scénario

  • GET : charger la page détaillée du produit httpGET /produits/123 HTTP/1.1
  • POST : Soumettre le formulaire d'enregistrement de l'utilisateur httpPOST /s HTTP/1.1 Content-Type : application/json { "name" : "John", "email" : "john@example.com" }

5. applications pratiques et outils de débogage

Outils de développement (navigateur)

  1. Appuyez sur F12 pour ouvrir la console → Onglet Réseau
  2. Voir les détails de la demande (En-tête/Réponse)

Exemple de cURL

bash

Exemple de requête GET #
curl -X GET "https://api.example.com/products/123"

Exemple de requête POST #
curl -X POST "https://api.example.com/s" \N -H "Content-Type : application/json" \N
  -H "Content-Type : application/json" \N- -d '{"nom" : "Jean")
  -d '{"name" : "John"}'

6. la sécurité et les bonnes pratiques

Principes fondamentaux

  • HTTPS : toujours utiliser une transmission cryptée (éviter HTTP en clair)
  • Sécurité de l'en-tête de la demande :
    • Définition d'une politique de sécurité du contenu pour se défendre contre les XSS
    • Utilisez Authorization : Bearer pour gérer les autorisations.
  • Validation des données : le serveur doit vérifier la légitimité des paramètres de la demande.

Spécification de conception RESTful

  • Les chemins d'URL utilisent le nom au pluriel (par exemple, /api/produits).
  • Correspondant aux opérations CRUD avec les méthodes HTTP

7. les questions fréquemment posées (FAQ)

Q1 : Quelle est la différence entre GET et POST ?

  • Les paramètres GET se trouvent dans l'URL, avec une limite de longueur ; les données POST se trouvent dans le corps de la requête, ce qui est plus sûr et prend en charge les données volumineuses (big data).

Q2:Comment choisir entre PUT et PATCH ?

  • PUT remplace la ressource entière, PATCH ne met à jour que certains champs.

Q3:Comment éviter les demandes POST en double ?

  • Désactivation des clics en double au niveau frontal + conception de l'idempotence au niveau du serveur (par exemple, génération d'identifiants de demande uniques).

Q4 : Comment résoudre le problème des requêtes interdomaines (CORS) ?

  • Le serveur définit l'en-tête de réponse Access-Control-Allow-Origin.
Retour en haut