500

Internal Server Error

Officiell Koder för understatus
Ett ospecificerat internt serverfel

Allmän förklaring av statuskoden 500

Detta textblock finns tyvärr bara på engelska.

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.

Specifikation av HTTP-statuskoden 500

Statuskoden 500 Internal Server Error anger att servern stött på ett oväntat problem som hindrade den från att uppfylla begäran.

Källa / Citat från: HTTP-statuskoden 500 Internal Server Error anges i avsnitt 6.6.1 i RFC7231.

Hur skickar man en 500-statuskod med PHP?

För att kasta HTTP-statuskoden 500 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testa HTTP-statuskoden 500

För att kunna visa HTTP-statuskoden (i det här fallet 500 Internal Server Error) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:

Statuskod 500 Internal Server Error
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Status: 500 Internal Server Error
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 500 Internal Server Error

Hur löser jag problemet med statuskoden 500?

För att åtgärda HTTP 500 Internal Server Error-felet måste vi först och främst ta reda på varför HTTP 500 Internal Server Error-statuskoden överhuvudtaget skickades ut. Orsakerna kan vara:

  1. Problem med serverkonfigurationen eller programmeringen
  2. Fel i ".htaccess"-filen
  3. Saknas eller är skadade filer på servern
  4. Överbelastning av servern eller otillräckliga resurser som CPU, RAM eller bandbredd
  5. Svårt att ansluta till andra system eller databaser
  6. Säkerhetsproblem som DDoS-attacker eller infektioner med skadlig kod
  7. Program- eller ramfel på servern

Alla dessa saker måste kontrolleras, beroende på vilken ändring som gjordes senast bör detta kontrolleras först. Eftersom orsakerna till en HTTP 500 Internal Server Error-statuskod kan vara så varierande kan ingen allmän rekommendation göras.

Alla dessa saker måste kontrolleras, beroende på vilken ändring som gjordes senast.

Så här skapar du en egen felsida för statuskoden 500

Det är relativt enkelt att skapa en egen 500 Internal Server Error-felsida med både Apache- och NGINX-webbservrarna.

Apache Webserver

Webbservern "Apache" är en av de vanligaste webbservrarna på Internet. För att skapa en egen 500 Internal Server Error-felsida i "Apache" måste följande ändring göras i följande fil.

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

NGINX Webserver

I likhet med webbservern Apache används NGINX i stor utsträckning på Internet. För att skapa en egen 500 Internal Server Error-felsida i "NGINX" måste följande ändring göras i följande fil.

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

Webbläsarnas kompatibilitet med statuskoden 500

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

Konstanter i programmeringsspråk

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

Understatuskoder till 500 Statuskod

Substatuskoder är rent tekniska och ska aldrig skickas till användaren. Om t.ex. statuskod 500.1 visas kan det loggas, men statuskod 500 skickas till användaren.:
500.0 Module or ISAPI error occurred
HTTP IIS, Inofficiell
500.11 Application is shutting down on the web server
HTTP IIS, Inofficiell
500.12 Application is busy restarting on the web server
HTTP IIS, Inofficiell
500.13 Web server is too busy
HTTP IIS, Inofficiell
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Inofficiell
500.19 Configuration data is invalid
HTTP IIS, Inofficiell
500.21 Module not recognized
HTTP IIS, Inofficiell
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Inofficiell
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Inofficiell
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Inofficiell
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Inofficiell
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Inofficiell
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Inofficiell
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, Inofficiell
500.100 Internal ASP error
HTTP IIS, Inofficiell

Underhållande memes om HTTP-statuskoden 500

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub