Junior
Quelles sont les codes de réponse HTTP et en quoi diffèrent-ils les uns des autres?
sobes.tech IA
Réponse de l'IA
Les codes de réponse HTTP sont des nombres à trois chiffres renvoyés par le serveur en réponse à une requête du client. Ils indiquent le statut du traitement de la requête et fournissent des informations sur la réussite, une erreur ou la nécessité d'une action supplémentaire.
Les codes sont divisés en cinq classes :
- 1xx (Informatifs): La requête a été acceptée, le traitement continue.
- 2xx (Réussis): La requête a été reçue, comprise et traitée avec succès.
- 3xx (Redirections): Le client doit effectuer des actions supplémentaires pour compléter la requête.
- 4xx (Erreurs du client): La requête contient une erreur de syntaxe ou ne peut pas être traitée.
- 5xx (Erreurs du serveur): Le serveur n'a pas pu traiter la requête.
Les différences entre les codes résident dans leur sémantique, liée aux différentes étapes du traitement de la requête et aux résultats possibles.
Exemples de codes couramment utilisés :
| Code | Description | Classe |
|---|---|---|
| 200 | OK | Réussis |
| 201 | Créé | Réussis |
| 301 | Déplacé de façon permanente | Redirections |
| 302 | Trouvé | Redirections |
| 400 | Requête incorrecte | Erreurs du client |
| 401 | Non autorisé | Erreurs du client |
| 403 | Interdit | Erreurs du client |
| 404 | Non trouvé | Erreurs du client |
| 500 | Erreur interne du serveur | Erreurs du serveur |
| 503 | Service indisponible | Erreurs du serveur |
// Exemple de traitement de réponse HTTP en JavaScript
fetch('/api/data')
.then(response => {
if (response.ok) { // Vérification du statut réussi (2xx)
return response.json();
} else {
// Traitement des erreurs basé sur le code de statut
console.error(`Erreur HTTP : ${response.status}`);
if (response.status === 404) {
console.error('Ressource non trouvée.');
}
throw new Error(`Erreur HTTP : ${response.status}`);
}
})
.then(data => {
console.log('Données reçues :', data);
})
.catch(error => {
console.error('Erreur lors du chargement des données :', error);
});