Erreurs et codes de réponse
Conseils généraux
- assurez-vous que l'URL testée est accessible et publiquement disponible avant d'exécuter tout test de charge ou de performance
- vérifiez la méthode HTTP (GET est la requête effectuée par les navigateurs lors de l'accès à un site web ou un point de terminaison API)
- commencez avec un petit nombre de clients (25-50 clients) et vérifiez le nombre d'erreurs
- essayez d'augmenter progressivement le nombre de clients pour comprendre comment votre API, site web ou application web se comporte
- vérifiez le temps, la latence, les hits, le débit et les erreurs pour chaque test afin de contrôler les performances de votre système
Codes de réponse 3xx (redirection)
- si l'URL ajoutée pour le test de charge effectue des redirections vers une autre URL
- si vous testez la redirection, essayez de faire le test de charge sur l'URL finale, après la fin des redirections
- décochez la case "Follow redirects" à côté de l'URL si vous souhaitez éviter de rediriger vos requêtes et effectuer le test de charge sur l'URL ajoutée
Codes de réponse 4xx (erreurs côté client)
- l'URL est correcte et publiquement accessible
- vérifiez la méthode HTTP utilisée : GET, POST, PUT ou DELETE (GET est la requête effectuée par les navigateurs lors de l'accès à un site web ou un point de terminaison API)
- les en-têtes de requête, les cookies, les paramètres de requête ou les paramètres d'authentification HTTP basique sont correctement définis
Codes de réponse 5xx (erreurs côté serveur)
- le code de réponse, généralement si l'API, le site web, l'application web ou mobile testée ne gère pas correctement la charge, vous commencerez à recevoir des réponses 503 Service Unavailable.
- essayez de réduire le nombre de clients (utilisateurs simultanés) pour votre test de charge et vérifiez les limites de votre système
Pour plus d'informations sur la façon de tester la charge de vos sites web et API dans le cloud avec l'outil de test de charge LoadFocus, consultez le service de test de charge ou le service de test de charge JMeter.
Codes de réponse (liste complète)
Selon (w3schools.com)[https://w3schools.com], voici une liste de messages d'état HTTP qui pourraient être retournés lors de l'exécution d'un test de charge pour des points de terminaison API, des sites web, des applications web et mobiles :
1xx : Information
- 100 Continue Le serveur a reçu les en-têtes de la requête et le client doit procéder à l'envoi du corps de la requête
- 101 Switching Protocols Le demandeur a demandé au serveur de changer de protocoles
- 103 Checkpoint Utilisé dans la proposition de requêtes resumables pour reprendre les requêtes PUT ou POST interrompues
2xx : Succès
- 200 OK La requête est correcte (c'est la réponse standard pour les requêtes HTTP réussies)
- 201 Created La requête a été traitée et une nouvelle ressource est créée
- 202 Accepted La requête a été acceptée pour traitement, mais le traitement n'est pas terminé
- 203 Non-Authoritative Information La requête a été traitée avec succès, mais retourne des informations qui peuvent provenir d'une autre source
- 204 No Content La requête a été traitée avec succès, mais ne retourne aucun contenu
- 205 Reset Content La requête a été traitée avec succès, mais ne retourne aucun contenu et exige que le demandeur réinitialise la vue du document
- 206 Partial Content Le serveur ne délivre qu'une partie de la ressource en raison d'un en-tête de plage envoyé par le client
3xx : Redirection
- 300 Multiple Choices Une liste de liens. L'utilisateur peut sélectionner un lien et accéder à cet emplacement. Maximum cinq adresses
- 301 Moved Permanently La page demandée a été déplacée vers une nouvelle URL
- 302 Found La page demandée a été temporairement déplacée vers une nouvelle URL
- 303 See Other La page demandée peut être trouvée sous une URL différente
- 304 Not Modified Indique que la page demandée n'a pas été modifiée depuis la dernière requête
- 306 Switch Proxy N'est plus utilisé
- 307 Temporary Redirect La page demandée a été temporairement déplacée vers une nouvelle URL
- 308 Resume Incomplete Utilisé dans la proposition de requêtes resumables pour reprendre les requêtes PUT ou POST interrompues
4xx : Erreur client
- 400 Bad Request La requête ne peut pas être traitée en raison d'une mauvaise syntaxe
- 401 Unauthorized La requête était légale, mais le serveur refuse d'y répondre. Pour les cas où l'authentification est possible mais a échoué ou n'a pas encore été fournie
- 402 Payment Required Réservé pour une utilisation future
- 403 Forbidden La requête était légale, mais le serveur refuse d'y répondre
- 404 Not Found La page demandée n'a pas pu être trouvée mais pourrait être disponible à nouveau à l'avenir
- 405 Method Not Allowed Une requête a été faite sur une page en utilisant une méthode de requête non supportée par cette page
- 406 Not Acceptable Le serveur ne peut générer qu'une réponse qui n'est pas acceptée par le client
- 407 Proxy Authentication Required Le client doit d'abord s'authentifier auprès du proxy
- 408 Request Timeout Le serveur a expiré en attendant la requête
- 409 Conflict La requête n'a pas pu être complétée en raison d'un conflit dans la requête
- 410 Gone La page demandée n'est plus disponible
- 411 Length Required Le "Content-Length" n'est pas défini. Le serveur n'acceptera pas la requête sans celui-ci
- 412 Precondition Failed La précondition donnée dans la requête a été évaluée comme fausse par le serveur
- 413 Request Entity Too Large Le serveur n'acceptera pas la requête car l'entité de la requête est trop grande
- 414 Request-URI Too Long Le serveur n'acceptera pas la requête car l'URL est trop longue
- 415 Unsupported Media Type Le serveur n'acceptera pas la requête car le type de média n'est pas supporté
- 416 Requested Range Not Satisfiable Le client a demandé une portion du fichier, mais le serveur ne peut pas fournir cette portion
- 417 Expectation Failed Le serveur ne peut pas répondre aux exigences du champ d'en-tête de requête Expect
5xx : Erreur serveur
- 500 Internal Server Error Un message d'erreur générique, donné quand aucun message plus spécifique n'est adapté
- 501 Not Implemented Le serveur ne reconnaît pas la méthode de requête ou n'a pas la capacité de traiter la requête
- 502 Bad Gateway Le serveur agissait en tant que passerelle ou proxy et a reçu une réponse invalide du serveur en amont
- 503 Service Unavailable Le serveur est actuellement indisponible (surcharge ou en panne)
- 504 Gateway Timeout Le serveur agissait en tant que passerelle ou proxy et n'a pas reçu de réponse en temps voulu du serveur en amont
- 505 HTTP Version Not Supported Le serveur ne supporte pas la version du protocole HTTP utilisée dans la requête
- 511 Network Authentication Required Le client doit s'authentifier pour obtenir l'accès au réseau
Autre : Erreur de connexion
L'URL ajoutée pour le test de charge n'a pas pu être accédée pour l'une des raisons suivantes : -- l'URL n'est pas publiquement accessible (nous ne supportons que les URL accessibles publiquement via Internet) -- le système a planté pour une raison quelconque