Всегда ли внутренняя ошибка сервера 500 означает ошибку веб-сервера?

Я всегда сталкивался с внутренней ошибкой сервера 500 как с ошибкой веб-сервера, впоследствии регистрируя ее как ошибку. Однако мне сообщили, что внутренняя ошибка сервера 500 также может быть ошибкой приложения. В этом случае он не регистрируется на веб-сервере, когда это происходит.

Существуют ли случаи, когда обоснованно, что 500 Internal Server Error не сообщает о проблеме в журнал ошибок веб-сервера?

www.w3.org сообщает:

Внутренняя ошибка 500

Сервер столкнулся с непредвиденной ситуацией, из-за которой он не смог выполнить запрос.


person Miati    schedule 25.08.2016    source источник
comment
Под ошибкой приложения вы подразумеваете ошибку на стороне клиента (в отличие от ошибки на стороне сервера)?   -  person Asaph    schedule 25.08.2016
comment
Да. Например, если вы выполняете код приложения на стороне сервера, и ваш код генерирует исключение, которое вы не перехватываете, веб-сервер будет рассматривать это как ошибку 500.   -  person markbernard    schedule 25.08.2016
comment
На самом деле, это уточнение запутывает ситуацию. Где происходит это исключение? В веб-браузере? На веб-сервере? В какой-то системе ниже по течению от веб-сервера?   -  person Asaph    schedule 25.08.2016
comment
Это php-форум под названием flarum. Во время установки в веб-браузере другой пользователь получает эту ошибку: i.imgur.com/anruidf.png (здесь упоминается внутренняя ошибка сервера 500). Однако на веб-сервер ничего не сообщается. Я бы предположил, что это на стороне сервера.   -  person Miati    schedule 25.08.2016


Ответы (2)


Согласно спецификации, коды состояния HTTP 5xx определяются как сервер- побочные ошибки. Любая проблема на стороне клиента, приводящая к ошибке HTTP 5xx, связана с неправильным использованием кодов состояния HTTP. Проблемы на стороне клиента, препятствующие выполнению запросов, должны приводить к кодам состояния HTTP 4xx.

6.6 Ошибка сервера 5xx

Класс кода состояния 5xx (ошибка сервера) указывает, что сервер знает, что он допустил ошибку или не может выполнить запрошенный метод. ...

-- https://tools.ietf.org/html/rfc7231#section-6.6

6.5 Ошибка клиента 4xx

Класс кода состояния 4xx (Ошибка клиента) указывает на то, что клиент, похоже, допустил ошибку. ...

-- https://tools.ietf.org/html/rfc7231#section-6.5

person Asaph    schedule 25.08.2016
comment
Это не спец. Актуален RFC 7231. - person Julian Reschke; 26.08.2016
comment
Текст RFC 7231 почти идентичен W3C. Обновлены ссылки, цитаты и номера разделов - person Asaph; 26.08.2016

Если вы видите ошибку 500 на веб-сайте, на котором работает Microsoft IIS, вы можете получить более конкретное сообщение об ошибке:

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.

Для веб-сервера Apache вы можете проверить его файл журнала /var/log/apache2/error.log

Для IIS вы можете найти файлы журнала в %SystemDrive%\inetpub\logs\LogFiles или %SystemDrive%\Windows\System32\LogFiles\HTTPERR

person Ashouri    schedule 25.08.2016