500

Internal Server Error

Officieel Substatuscodes
Een niet-gespecificeerde interne serverfout

Algemene uitleg van de 500-statuscode

Dit tekstblok is helaas alleen beschikbaar in het Engels.

The HTTP 500 Internal Server Error status code occurs when the server has a problem and is unable to process the user's request. This can have various reasons, such as technical problems, overloading of the server or problems with the software that runs the server.

Specificatie van de HTTP-statuscode 500

De statuscode 500 Internal Server Error geeft aan dat de server op een onverwachte omstandigheid stuitte waardoor het verzoek niet kon worden ingewilligd.

Bron / Citaat van: De 500 Internal Server Error HTTP-statuscode wordt gespecificeerd door sectie 6.6.1 van RFC7231.

Hoe gooi je een 500-statuscode met PHP?

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

Test de HTTP-statuscode 500

Om de HTTP-statuscode (in dit geval 500 Internal Server Error) 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 500 Internal Server Error
Overzicht
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Status: 500 Internal Server Error
Die: Network
IP-adres: XX.XX.XX.XX
Statuscode 500 Internal Server Error

Hoe los ik het probleem met de 500-statuscode op?

Om de HTTP 500 Internal Server Error-fout op te lossen, moeten we eerst uitzoeken waarom de HTTP 500 Internal Server Error-statuscode in eerste instantie werd gegooid. Redenen kunnen zijn:

  1. Problemen met de serverconfiguratie of programmering
  2. Fouten in het ".htaccess" bestand
  3. Missende of beschadigde bestanden op de server
  4. Overbelasting van de server of onvoldoende middelen zoals CPU, RAM of bandbreedte
  5. Moeilijke verbinding met andere systemen of databases
  6. Veiligheidsproblemen zoals DDoS-aanvallen of malware-infecties
  7. Applicatie- of frameworkfouten op de server

Al deze dingen moeten worden gecontroleerd, afhankelijk van welke wijziging het laatst is aangebracht, moet dit eerst worden gecontroleerd. Omdat de oorzaken voor een HTTP 500 Internal Server Error statuscode zo uiteenlopend kunnen zijn, kan geen algemene aanbeveling worden gedaan.

Al deze dingen moeten worden gecontroleerd, afhankelijk van welke wijziging het laatst is doorgevoerd.

Hoe maak je je eigen foutpagina voor de statuscode 500?

Uw eigen 500 Internal Server Error-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 500 Internal Server Error-foutpagina in "Apache" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.

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

NGINX Webserver

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

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

Browsercompatibiliteit van de 500-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.InternalServerError
http.StatusInternalServerError
Response::HTTP_INTERNAL_SERVER_ERROR
httplib.INTERNAL_SERVER_ERROR
http.client.INTERNAL_SERVER_ERROR
http.HTTPStatus.INTERNAL_SERVER_ERROR
:internal_server_error

Substatuscodes van de 500-statuscode

Substatuscodes zijn puur technisch, en mogen nooit naar de gebruiker worden gestuurd. Als bijvoorbeeld statuscode 500.1 wordt gegooid, kan dit worden gelogd, maar statuscode 500 wordt naar de gebruiker gestuurd.:
500.0 Module or ISAPI error occurred
HTTP IIS, Onofficieel
500.11 Application is shutting down on the web server
HTTP IIS, Onofficieel
500.12 Application is busy restarting on the web server
HTTP IIS, Onofficieel
500.13 Web server is too busy
HTTP IIS, Onofficieel
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Onofficieel
500.19 Configuration data is invalid
HTTP IIS, Onofficieel
500.21 Module not recognized
HTTP IIS, Onofficieel
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Onofficieel
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Onofficieel
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Onofficieel
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Onofficieel
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Onofficieel
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Onofficieel
500.53 A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated
HTTP IIS, Onofficieel
500.100 Internal ASP error
HTTP IIS, Onofficieel

Vermakelijke memes over de HTTP-statuscode 500

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

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

LinkedInGitHub