Sobes.tech
Intern

Quels sont les types de requêtes HTTP?

sobes.tech IA

Réponse de l'IA

Principaux types de requêtes HTTP : GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.

Description des plus courants :

  • GET : Demande la vue d'une ressource spécifiée. Les requêtes utilisant cette méthode doivent ne récupérer que des données.
  • POST : Envoie des données pour traitement par une ressource spécifique. Un résultat fréquent est un changement d'état ou des effets secondaires sur le serveur.
  • PUT : Remplace toutes les vues actuelles de la ressource cible par les données du corps de la requête.
  • DELETE : Supprime la ressource spécifiée.
  • PATCH : Applique des modifications partielles à la ressource.
  • HEAD : Demande les en-têtes comme GET, mais sans le corps de la réponse. Utilisé pour obtenir des métadonnées.
  • OPTIONS : Décrit les paramètres de communication pour la ressource cible.
  • CONNECT : Transforme la connexion demandée en un proxy TCP/IP transparent.
  • TRACE : Effectue un test de rétroaction sur le chemin vers la ressource cible.

Différences entre GET et POST :

Caractéristique GET POST
Objectif Obtenir des données Envoyer des données pour traitement
Transmission de données Via les paramètres URL (Query String) Via le corps de la requête
Sécurité Idempotent (les requêtes répétées ne changent pas l'état) Non idempotent
Visibilité des données Visibles dans l'URL, sauvegardées dans l'historique du navigateur, logs du serveur Non visibles dans l'URL, non sauvegardées dans l'historique du navigateur
Taille des données Limitée par la longueur de l'URL Sans restrictions (ou très grandes)
Caché Peut être mis en cache Non mis en cache par les moyens de base
Favoris Peut ajouter une page avec paramètres GET aux favoris Non (pour les méthodes normales d'envoi de formulaires)

Exemple d'utilisation de GET en PHP :

<?php
// Récupérer le paramètre 'id' de l'URL
$userId = $_GET['id'];
echo "ID utilisateur : " . htmlspecialchars($userId);
?>

Exemple d'utilisation de POST en PHP (traitement des données de formulaire) :

<?php
// Vérifier si la requête est en POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Récupérer les données du corps de la requête
    $username = $_POST['username'];
    $password = $_POST['password'];
    // Traitement des données (par exemple, sauvegarde en base)
    echo "Nom d'utilisateur : " . htmlspecialchars($username) . "<br>";
    echo "Mot de passe reçu.";
}
?>