500

Internal Server Error

Официален Кодове на подстатуси
Неуточнена вътрешна грешка на сървъра

Общо обяснение на код на състоянието 500

За съжаление този блок с текст е достъпен само на английски език.

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.

Спецификация на HTTP код на състоянието 500

Кодът на състоянието 500 Internal Server Error показва, че сървърът е срещнал неочаквано състояние, което не му е позволило да изпълни заявката.

Източник / Цитат от: Кодът на състоянието 500 Internal Server Error на HTTP е определен в раздел 6.6.1 на RFC7231.

Как да изхвърлим код на състоянието 500 с PHP?

За изхвърляне на HTTP статус код 500 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(500) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Тестване на код 500 на състоянието HTTP

За да можете да показвате кода на състоянието на HTTP (в този случай 500 Internal Server Error) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:

Код на състоянието 500 Internal Server Error
Преглед
URL: https://http-statuscode.com/errorCodeExample.php?code=500
Статус: 500 Internal Server Error
Тези: Network
IP адрес: XX.XX.XX.XX
Код на състоянието 500 Internal Server Error

Как да разреша проблема със статус код 500?

За да поправите грешката HTTP 500 Internal Server Error, първо трябва да откриете причината за изхвърлянето на статус кода HTTP 500 Internal Server Error. Причините могат да бъдат:

  1. Проблеми с конфигурацията или програмирането на сървъра
  2. Хишки в ".htaccess" файл
  3. Недостатъчни или повредени файлове на сървъра
  4. Претоварване на сървъра или недостатъчни ресурси като процесора, RAM или широчина на честотната лента
  5. Затруднения при свързване с други системи или бази данни
  6. Проблеми със сигурността, като DDoS атаки или заразяване със зловреден софтуер
  7. Приложения или грешки в рамката на сървъра

Всички тези неща трябва да бъдат проверени, като в зависимост от това коя промяна е направена последно, това трябва да се провери първо. Тъй като причините за статус код HTTP 500 Internal Server Error могат да бъдат много разнообразни, не може да се направи обща препоръка.

Всички тези неща трябва да бъдат проверени, в зависимост от това коя промяна е била направена последно.

Как да създадете собствена страница за грешка с код на състоянието 500

Създаването на собствена страница за грешка 500 Internal Server Error е сравнително лесно както с уеб сървърите "Apache", така и с "NGINX".

Apache Webserver

Уеб сървърът "Apache" е един от най-разпространените уеб сървъри в интернет. За да създадете своя собствена страница за грешка 500 Internal Server Error в "Apache", трябва да се направи следната промяна в следния файл.

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

NGINX Webserver

Подобно на уеб сървъра "Apache", "NGINX" също се използва широко в интернет. За да създадете своя собствена страница за грешка 500 Internal Server Error в "NGINX", трябва да се направи следната промяна в следния файл.

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

Съвместимост на кода на състоянието 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

Константи в езиците за програмиране

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

Кодове на подсъстоянието на код 500

Кодовете за подсъстояние са чисто технически и никога не трябва да се изпращат на потребителя. Например, ако бъде хвърлен код на състоянието 500.1, той може да бъде регистриран, но код на състоянието 500 ще бъде изпратен на потребителя.:
500.0 Module or ISAPI error occurred
HTTP IIS, Неофициален
500.11 Application is shutting down on the web server
HTTP IIS, Неофициален
500.12 Application is busy restarting on the web server
HTTP IIS, Неофициален
500.13 Web server is too busy
HTTP IIS, Неофициален
500.15 Direct requests for Global.asax aren't allowed
HTTP IIS, Неофициален
500.19 Configuration data is invalid
HTTP IIS, Неофициален
500.21 Module not recognized
HTTP IIS, Неофициален
500.22 An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
HTTP IIS, Неофициален
500.23 An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode
HTTP IIS, Неофициален
500.24 An ASP.NET impersonation configuration does not apply in Managed Pipeline mode
HTTP IIS, Неофициален
500.50 A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred
HTTP IIS, Неофициален
500.51 A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred
HTTP IIS, Неофициален
500.52 A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred
HTTP IIS, Неофициален
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, Неофициален
500.100 Internal ASP error
HTTP IIS, Неофициален
Автор: Tony Brüser
Автор: Tony Brüser

Тони Брусер е ентусиазиран уеб разработчик със склонност към HTTP кодовете за състояние.

LinkedInGitHub