400

Bad Request

Officiellement, Codes de sous-statut
La demande n'est pas valide

Spécification du code d'état HTTP 400

Le code d'état 400 Bad Request indique que le serveur ne peut ou ne veut pas traiter la demande en raison d'une erreur du client (par exemple, syntaxe de demande incorrecte, cadrage non valide du message de demande ou routage de demande trompeur).

Source / Citation de : Le code d'état HTTP 400 Bad Request est spécifié par la section 6.5.1 de RFC7231.

Comment lancer un code d'état 400 avec PHP ?

Pour lancer le code d'état HTTP 400 sur une page web, on peut utiliser la fonction PHP http_response_code. La syntaxe est la suivante : http_response_code(400) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste le code d'état HTTP 400

Pour pouvoir afficher le code de statut HTTP (dans ce cas 400 Bad Request) et d'autres informations côté client, il faut ouvrir la console de développement avec F12. Ensuite, il faut naviguer vers l'onglet "Réseau". La page peut maintenant être ouverte, la page web (exemple index.php) doit être visible dans l'onglet réseau. Il faut la sélectionner et choisir ensuite le domaine Herder. L'utilisateur voit alors le résultat suivant :

Code d'état 400 Bad Request
Aperçu
URL: https://http-statuscode.com/errorCodeExample.php?code=400
Statut: 400 Bad Request
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Code d'état 400 Bad Request

Comment créer une page d'erreur personnalisée pour le code d'état 400 ?

Créer sa propre page d'erreur 400 Bad Request est relativement facile, aussi bien avec le serveur web "Apache" qu'avec le serveur web "NGINX".

Apache Webserver

Le serveur web "Apache" est l'un des serveurs web les plus répandus sur Internet. Pour créer sa propre page d'erreur 400 Bad Request dans "Apache", il faut effectuer la modification suivante dans le fichier suivant.

File: .htaccess
ErrorDocument 400 /errors/400.html

NGINX Webserver

Tout comme le serveur web "Apache", "NGINX" est également très répandu sur Internet. Pour créer sa propre page d'erreur 400 Bad Request dans "NGINX", il faut effectuer la modification suivante dans le fichier suivant.

File: sites-enabled/default
error_page 400 /400.html;
location = /400.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilité du navigateur avec le code d'état 400

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Les constantes dans les langages de programmation

HttpStatusCode.BadRequest
:not_modified
http.StatusBadRequest
response::HTTP_BAD_REQUEST
httplib.BAD_REQUEST
http.client.BAD_REQUEST
http.HTTPStatus.BAD_REQUEST
:bad_request

Codes de sous-statut du 400 Code de statut

Les codes de sous-statut sont purement techniques et ne devraient jamais être envoyés à l'utilisateur. Par exemple, si le code d'état 400.1 est lancé, il peut certes être enregistré, mais le code d'état 400 est envoyé à l'utilisateur.:
400.1 Invalid Destination Header
HTTP IIS, Officieusement
400.2 Invalid Depth Header
HTTP IIS, Officieusement
400.3 Invalid If Header
HTTP ISS, Officieusement
400.4 Invalid Overwrite Header
HTTP ISS, Officieusement
400.5 Invalid Translate Header
HTTP ISS, Officieusement
400.6 Invalid Request Body
HTTP ISS, Officieusement
400.7 Invalid Content Length
400, Officieusement
400.8 Invalid Timeout
HTTP ISS, Officieusement
400.9 Invalid Lock Token
HTTP IIS, Officieusement
400.10 Invalid X-Forwarded-For (XFF) header
HTTP ISS, Officieusement
400.11 Invalid WebSocket request
HTTP IIS, Officieusement
400.601 Bad client request (ARR)
HTTP ISS, Officieusement
400.602 Invalid time format (ARR)
HTTP IIS, Officieusement
400.603 Parse range error (ARR)
HTTP IIS, Officieusement
400.604 Client gone (ARR)
HTTP IIS, Officieusement
400.605 Maximum number of forwards (ARR)
HTTP IIS, Officieusement
400.606 Asynchronous competition error (ARR)
HTTP IIS, Officieusement
Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser est un développeur web enthousiaste avec une prédilection pour les codes de statut HTTP.

LinkedInGitHub