Miati
Miati

Reputation: 425

Does a 500 Internal Server Error always mean web-server error?

I have always experienced a 500 Internal Server Error to be a web-server error, subsequently logging it as a error. However, I've been informed that a 500 Internal Server Error can be a application error as well. In this case, it does not seem to log to the web-server when this happens.

Are there cases where it is justified that a 500 Internal Server Error will not report the issue to the web-server error log?

www.w3.org reports:

Internal Error 500

The server encountered an unexpected condition which prevented it from fulfilling the request.

Upvotes: 1

Views: 3010

Answers (2)

Asaph
Asaph

Reputation: 162851

According to the spec, HTTP 5xx status codes are defined as server-side errors. Any client-side problem resulting in an HTTP 5xx error is an incorrect use of HTTP status codes. Client-side issues that prevent requests from being fulfilled should result in HTTP 4xx status codes.

6.6 Server Error 5xx

The 5xx (Server Error) class of status code indicates that the server is aware that it has erred or is incapable of performing the requested method. ...

-- https://www.rfc-editor.org/rfc/rfc7231#section-6.6

6.5 Client Error 4xx

The 4xx (Client Error) class of status code indicates that the client seems to have erred. ...

-- https://www.rfc-editor.org/rfc/rfc7231#section-6.5

Upvotes: 1

Ashouri
Ashouri

Reputation: 906

If you see the 500 error on a website which is running Microsoft IIS, you may get a more specific error message:

500.0   Module or ISAPI error occurred.
500.11  Application is shutting down on the web server.
500.12  Application is busy restarting on the web server.
500.13  Web server is too busy.
500.15  Direct requests for Global.asax are not allowed.
500.19  Configuration data is invalid.
500.21  Module not recognized.
500.22  An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
500.23  An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.
500.24  An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.
500.50  A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred.
500.51  A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.
500.52  A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.
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.
500.100 Internal ASP error.

For Apache webserver you can check its log file /var/log/apache2/error.log

For IIS you can find log files in %SystemDrive%\inetpub\logs\LogFiles or %SystemDrive%\Windows\System32\LogFiles\HTTPERR

Upvotes: 0

Related Questions