400

Bad Request

Officieel Substatuscodes
Het verzoek is ongeldig

Specificatie van de HTTP-statuscode 400

Statuscode 400 Bad Request geeft aan dat de server het verzoek niet kan of wil verwerken wegens een fout van de cliënt (bv. onjuiste verzoeksyntaxis, ongeldige framing van het verzoekbericht of misleidende verzoekroutering).

Bron / Citaat van: De 400 Bad Request HTTP-statuscode wordt gespecificeerd door sectie 6.5.1 van RFC7231.

Hoe gooi je een 400-statuscode met PHP?

Om de HTTP-statuscode 400 op een webpagina te gooien, kan de PHP-functie http_response_code worden gebruikt. De syntaxis is als volgt: http_response_code(400) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test de HTTP-statuscode 400

Om de HTTP-statuscode (in dit geval 400 Bad Request) en andere informatie aan de clientzijde te kunnen weergeven, moet de ontwikkelconsole worden geopend met F12. Navigeer vervolgens naar het tabblad "Netwerk". Nu kan de pagina worden geopend, de website (voorbeeld index.php) moet zichtbaar zijn in het netwerk tabblad. Deze moet worden geselecteerd en vervolgens moet het onderdeel Herder worden geselecteerd. De gebruiker ziet dan het volgende resultaat:

Statuscode 400 Bad Request
Overzicht
URL: https://http-statuscode.com/errorCodeExample.php?code=400
Status: 400 Bad Request
Die: Network
IP-adres: XX.XX.XX.XX
Statuscode 400 Bad Request

Hoe maak je je eigen foutpagina voor de statuscode 400?

Uw eigen 400 Bad Request-foutpagina maken is relatief eenvoudig met zowel de "Apache" als de "NGINX" webservers.

Apache Webserver

De webserver "Apache" is een van de meest gebruikte webservers op het internet. Om uw eigen 400 Bad Request-foutpagina in "Apache" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.

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

NGINX Webserver

Net als de webserver "Apache" wordt ook "NGINX" veel gebruikt op het internet. Om uw eigen 400 Bad Request-foutpagina in "NGINX" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.

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

Browsercompatibiliteit van de 400-statuscode

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

Constanten in programmeertalen

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

Substatuscodes van de 400-statuscode

Substatuscodes zijn puur technisch, en mogen nooit naar de gebruiker worden gestuurd. Als bijvoorbeeld statuscode 400.1 wordt gegooid, kan dit worden gelogd, maar statuscode 400 wordt naar de gebruiker gestuurd.:
400.1 Invalid Destination Header
HTTP IIS, Onofficieel
400.2 Invalid Depth Header
HTTP IIS, Onofficieel
400.3 Invalid If Header
HTTP ISS, Onofficieel
400.4 Invalid Overwrite Header
HTTP ISS, Onofficieel
400.5 Invalid Translate Header
HTTP ISS, Onofficieel
400.6 Invalid Request Body
HTTP ISS, Onofficieel
400.7 Invalid Content Length
400, Onofficieel
400.8 Invalid Timeout
HTTP ISS, Onofficieel
400.9 Invalid Lock Token
HTTP IIS, Onofficieel
400.10 Invalid X-Forwarded-For (XFF) header
HTTP ISS, Onofficieel
400.11 Invalid WebSocket request
HTTP IIS, Onofficieel
400.601 Bad client request (ARR)
HTTP ISS, Onofficieel
400.602 Invalid time format (ARR)
HTTP IIS, Onofficieel
400.603 Parse range error (ARR)
HTTP IIS, Onofficieel
400.604 Client gone (ARR)
HTTP IIS, Onofficieel
400.605 Maximum number of forwards (ARR)
HTTP IIS, Onofficieel
400.606 Asynchronous competition error (ARR)
HTTP IIS, Onofficieel

Vermakelijke memes over de HTTP-statuscode 400

Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser is een enthousiaste webontwikkelaar met een voorliefde voor HTTP-statuscodes.

LinkedInGitHub