Код ошибки error
Коды статусов ответа по протоколу HTTP
Информационный (Informational 1xx)
Ответы в диапазоне 100-199 — информационные. Они показывают, что запрос клиента принят и обрабатывается.
100=»Continue»
Начальная часть запроса принята, и клиент может продолжать передачу запроса.
101=»Switching Protocols»
Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade.
Запрос клиента успешен (Successful 2xx)
Ответы в диапазоне 200-299 означают, что запрос клиента обработан успешно.
200=»OK»
Запрос клиента обработан успешно, и ответ сервера содержит затребованные данные.
201=»Created»
Этот код состояния используется в случае создания нового URI. Вместе с этим кодом результата сервер выдает заголовок Location (см. главу 19), который содержит информацию о том, куда были помещены новые данные.
202=»Accepted»
Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции. Гарантии того, что сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то, что на момент приема запрос выглядел допустимым.
203=»Non-Authoritative Information»
Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера.
204=»No Content»
Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа броузер не должен обновлять свой документ. Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения.
205=»Reset Content»
Броузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.
Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.
233 — because not everyone lives in «your country»
Запрос клиента переадресован (Redirection 3xx)
Код ответа в диапазоне 300-399 означает, что запрос не выполнен и клиенту нужно предпринять некоторые действия для удовлетворения запроса.
300=»Multiple Choices»
Затребованный URI обозначает более одного ресурса. Например, URI может обозначать документ, переведенный на несколько языков. В теле содержимого, возвращенном сервером, может находиться перечень более конкретных данных о том, как выбрать ресурс правильно.
301=»Moved Permanently» — перемещен навсегда
Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location. Во всех последующих запросах данного документа следует указывать новый URI.
При запросах не методом HEAD сервер должен передать в теле сообщения гипертекстовое пояснение. При использовании всех методов, кроме GET и POST, предварительно следует уведомить пользователя об изменении ссылки. Не стоить забывать, что некоторые агенты ошибочно меняют метод POST на GET после перехода на другой адрес.
302=»Moved Temporarily» — временно перемещен
Затребованный URI перемешен, но лишь временно. Заголовок Location указывает на новое местонахождение. Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URI, но во всех последующих запросах необходимо пользоваться старым URI.
При всех методах кроме HEAD сервер должен передать в теле гипертекстовое пояснение. При использовании всех отличных от GET и POST методов предварительно следует уведомить пользователя об изменении URI. При обращении к следующему ресурсу метод POST на GET менять следует как это делают некоторые агенты.
303=»See Other»
Затребованный URI можно найти по другому URI (указанному в заголовке Location). Его следует выбрать методом GET по данному ресурсу.
304=»Not Modified»
Это код ответа на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.
Доступ к затребованному URI должен осуществляться через proxy-сервер, указанный в заголовке Location.
Запрос клиента является неполным (Client Error 4xx)
Коды ответов в диапазоне 400-499 означают, что запрос клиента неполный. Эти коды могут также означать, что от клиента требуется дополнительная информация.
400=»Bad Request»
Означает, что сервер обнаружил в запросе клиента синтаксическую ошибку.
401=»Unauthorized» — требуется авторизация
Этот код результата, передаваемый с заголовком WWW-Authenticate, показывает, что пославший запрос пользователь не имеет необходимых полномочий и что при повторении запроса с указанием данного URI пользователь должен такие полномочия предоставить.
402=»Payment Required»
Этот код в HTTP еще не реализован.
403=»Forbidden»
Запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) ответить клиенту.
404=»Not Found» — не найдено
Документ по указанному URI не существует.
405=»Method Not Allowed» — метод не поддерживается
Этот код выдается с заголовком Allow и показывает, что метод, используемый клиентом, для данного URI не поддерживается.
406=»Not Acceptable»
Ресурс, указанный клиентом по данному URI, существует, но не в том формате, который нужен клиенту. Вместе с этим кодом сервер выдает заголовки Content-Language, Content-Encoding и Content-Type.
407=»Proxy Authentication Required» Прокси-сервер затребовал авторизацию.
Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate.
408=»Request Time-out»
Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который обычно задается в конфигурации сервера) и сервер разрывает сетевое соединение.
409=»Conflict»
Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информацию о конфликте следует возвратить в информационной части ответа.
410=»Gone»
Данный код показывает, что затребованный URI больше не существует и навсегда удален с сервера.
411=»Length Required»
Сервер не примет запрос без указанного в нем заголовка Content-Length.
412=»Precondition Failed»
Результат вычисления условия, заданного в запросе одним или несколькими заголовками if. . ., представляет собой «ложь».
413=»Request Entity Too Large»
Сервер не будет обрабатывать запрос, потому что его тело слишком велико.
414=»Request-URI Too Long» — запрос слишком длинный
Сервер не будет обрабатывать запрос, потому что его URI слишком длинный.
415=»Unsupported Media Type»
Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат.
416=»Requested Range Not Satisfiable»
Запрашиваемый диапазон не допустим
Ожидание не удалось
422=»Unprocessable Entity» — сервер успешно принял запрос, может работать с указанным видом данных (например, в теле запроса находится XML-документ, имеющий верный синтаксис), однако имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
В некоторых системах используется для передачи требования дополнительных данных: NOT ENOUGH DATA (не хвататет данных) 429=»You exceeded the rate limit»
Превышен лимит запросов
449 — Retry with a proxy in another country.
450=Rating Service Unavailable
451=Unavailable For Legal Reasons
доступ к ресурсу ограничен из-за проблем с законом. 451 — Site is not permitted in your country
452 could be site not permitted by employer,
453 could be site not permitted by ISP
460 Blocked by Repressive Regime
Ошибки сервера (Server Error 5xx)
Коды ответов в диапазоне 500-599 показывают, что сервер столкнулся с ошибкой и, вероятно, не сможет выполнить запрос клиента.
500=»Internal Server Error»
При обработке запроса на сервере один из его компонентов выдал аварийный отказ или столкнулся с ошибкой конфигурации. Часто бывает связанно с ошибками в файле .htaccess
501=»Not Implemented»
Клиент запросил выполнение действия, которое сервер выполнить не может.
502=»Bad Gateway»
Сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера).
503=»Service Unavailable»
Данный код означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен. Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After.
504=»Gateway Time-out»
Этот ответ похож на 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени.
505=»HTTP Version not supported»
Сервер не поддерживает версию протокола HTTP, использованную в запросе.
560 — Server is being censored
Ошибки ( Error 7xx)
702 — Your organization is being a twat.
703 — Your government is being a twat
704 — Your ISP is being a twat, and has messed with your DNS request, sending you to a spamvertizement for the domain requested.
705 — Your ISP is throttling / packet shaping the living hell out of your connection.
706 — Variant HTML requested (mobile, Flash-free. lots of flags in here).
707 — The current server time (in ticks since the epoch) & the server’s time zone.
Ошибки ( Error 9xx)
Для отправки кода статуса из PHP используется директива «header Status».
Ошибка 500 Internal Server Error: что это и как её исправить
Разработчики и люди, профессионально работающие с веб-приложениями, боятся 500 Internal Server Error . Оптимальный способ её устранения зависит от сервера и того, что на нём запущено. В данной статье приводятся советы по диагностике и исправлению ошибки 500 .
Диагностика ошибки 500 Internal Server Error
Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код , выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть источником ошибки 500 Internal Server Error . Само название ( Internal Server Error – ‘внутренняя ошибка сервера’ ) говорит о том, что ошибка происходит на сервере.
Устранение ошибки на популярных платформах
Многие пользователи устанавливают на свой сервер популярные CMS-системы , такие как WordPress , Joomla , Drupal и они не должны вызывать ошибку 500 , если всё настроено правильно. Однако она всё равно всплывает – из-за несовместимости версий, некачественных установок или сбоя прав доступа на сервере.
Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :
- Если вы только что обновили движок до новой версии, вероятно, обновление прошло с ошибками и необходимо провести его повторно. Скорее всего, на сайте разработчика есть инструкции, как это правильно сделать.
- Если вы только что активировали новый плагин или новую тему, стоит попробовать отменить эти изменения. Даже профессионально написанные плагины могут конфликтовать с другими и вызывать 500 Internal Server Error nginx
- Если вы обновляли CMS , старые плагины и темы могут быть с ней несовместимы. Единственное, что можно сделать в таком случае — отключать их по очереди, пока ошибка 500 не исчезнет.
- Неправильно заданные права доступа на сервере или ошибки в файле .htaccess . Серверу не удаётся получить доступ к скриптам, файлам и другим ресурсам, поэтому он выдаёт ошибку.
Когда причиной ошибки 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.
Устранение ошибки на стороне серверных скриптов
Другой причиной ошибки 500 Internal Server Error может стать разработка и тестирование собственных скриптов.
Чтобы справиться с такой ошибкой, попробуйте следующие решения :
- Настройка прав на сервере : часто неверная настройка прав доступа к файлу или папке приводит к тому, что сервер выдаёт ошибку 500 Internal Server Error . Из-за того, что ему не удаётся запустить скрипт. Выясните, какие права должны быть настроены, и выставьте их соответствующим образом.
- Превышено время ожидания : возможно, истекло время ожидания ответа от PHP или другого серверного скрипта. Это происходит из-за того, что недоступен определённый ресурс или коде была допущена ошибка, запускающая бесконечный цикл.
- Превышено время ожидания соединения с сервером: если сервер был занят, перезагружался или потерял соединение, скрипт может выдать ошибку 500 Internal Server Error . Возможно, в следующий раз ошибки не будет. Но если ошибка появляется при тестировании, велика вероятность того, что она встретится и пользователям.
- Ошибки в файле .htaccess: в некоторых случаях ошибку 500 может вызывать код, прописанный в файле .htaccess .
- Ошибки в скрипте: если ошибку выдаёт скрипт, можете запросить у него подробную информацию об ошибке. К примеру, в PHP можно включить вывод ошибок на экран или в лог-файл, добавив директиву display_errors . По умолчанию среда выполнения может скрывать ошибки, но это не очень удобно для отладки программы.
Попросите помощи у системного администратора
В некоторых случаях у разработчиков нет полного контроля над сервером.
Если скрипт запускается на сервере сторонней организации, она может помочь вам в следующем :
- Предоставить документацию о своём сервере и возможных причинах ошибки 500 . В зависимости от используемой операционной системы и настройки оборудования, данная ошибка может возникать по разным причинам.
- Попросите службу поддержки хостинга посмотреть лог-файлы с ошибками — системный администратор сможет определить, был ли сервер во время возникновения ошибки загружен или вовсе « упал ».
Ошибку 500 Internal Server Error довольно легко устранить
500 Internal Server Error — как исправить ? В большинстве случаев причины возникновения ошибки 500 легко исправляются. Проблема заключается в том, что без конкретной информации определение причины возникновения сбоя усложняется. Легче всего справиться с ошибкой, когда разработчик выяснит, что изменилось перед возникновением ошибки.
Не забывайте, что произошедшие изменения могли быть осуществлены и другими людьми — например, администратором сервера. Если же ничего не менялось, вероятно, сам сервер стал причиной возникновения ошибки из-за несовместимости программного обеспечения или проблем с производительностью.
Данная публикация представляет собой перевод статьи « 500 Internal Server Error: What It Is And How To Fix It » , подготовленной дружной командой проекта Интернет-технологии.ру
Предложение от 8host.com
Коды ошибок HTTP: расшифровка и устранение
При обращении к веб-серверу или приложению каждый поступивший HTTP-запрос получает в качестве ответа код состояния HTTP (англ. HTTP status code). Коды состояния HTTP – это трехзначные коды, сгруппированные в пять различных классов. Класс кода состояния можно определить по первой цифре:
- 1хх – информационные коды;
- 2хх – успех;
- 3хх – перенаправление;
- 4хх – ошибка клиента;
- 5хх – ошибка сервера.
Это руководство фокусируется на выявлении и устранении наиболее часто встречающихся кодов ошибок HTTP (то есть кодов состояния 4xx и 5xx) с точки зрения системного администратора. В некоторых ситуациях веб-сервер отвечает на запрос определенным кодом ошибки; рассмотрим общие возможные причины и решения.
Краткий обзор ошибок клиента и сервера
Ошибки клиента (коды состояния HTTP 400-499) возникают из-за HTTP-запросов, отправленных клиентом (веб-браузером или другим клиентом HTTP). Хотя данные типы ошибок связаны непосредственно с клиентом, системному администратору полезно знать, с какими кодами ошибок может столкнуться пользователь, чтобы определить, можно ли решить эту проблему в конфигурациях сервера.
Ошибки сервера (коды состояния HTTP 500-599) возникают тогда, когда веб-сервер не в состоянии обработать запрос из-за какой-либо ошибки или сбоя.
Общие советы по устранению ошибок HTTP
- При использовании веб-браузера для тестирования веб-сервера не забудьте обновить браузер после внесения изменений в настройки сервера.
- Проверяйте логи сервера, чтобы получить подробные сведения о том, как сервер обрабатывает запросы. Например, веб-серверы Apache и Nginx создают два файла по имени access.log и error.log, в которых можно найти соответствующую информацию.
- Запомните: определения кодов состояния HTTP являются частью стандарта, который реализуется обслуживающим запросы приложением. Это означает, что фактический код состояния, который возвращается в результате, зависит от того, как программное обеспечение сервера обрабатывает конкретную ошибку.
Ознакомившись с основными понятиями кодов состояния HTTP, приступим к обзору наиболее часто встречающихся ошибок.
Ошибка 400 Bad Request
Код статуса 400, или ошибка Bad Request («неверный запрос») означает, что синтаксис запроса HTTP, отправленного на сервер, неверен.
Как правило, причины возникновения ошибки 400 Bad Request таковы:
- Куки пользователя, связанные с сайтом, повреждены. Чтобы решить эту проблему,, попробуйте очистить кэш браузера и файлы cookie.
- Искаженный запрос из-за неисправного браузера.
- Искаженный запрос из-за ошибки пользователя при формировании HTTP-запроса вручную (например, неправильное использование curl).
Ошибка 401 Unauthorized
Код статуса 401, или ошибка Unauthorized («неавторизован») значит, что пользователь, пытающийся получить доступ к ресурсу, не прошел авторизацию (или не смог пройти ее, указав неверные учетные данные). Чтобы иметь возможность просматривать защищенный ресурс, пользователь должен предоставить корректные учетные данные.
Например, ошибка 401 Unauthorized может возникнуть, если пользователь пытается получить доступ к ресурсу, который защищен HTTP-авторизацией (как в этом руководстве по Nginx). В подобной ситуации ошибка 401 будет появляться снова и снова до тех пор, пока пользователь не предоставит корректный логин и пароль (который внесен в файл .htpasswd).
Ошибка 403 Forbidden
Код состояния 403, или ошибка Forbidden («запрещено») значит, что запрос пользователя был отправлен верно, но сервер отказывается обслуживать его в связи с отсутствием разрешения на доступ к запрашиваемому ресурсу. В этом разделе описаны наиболее распространенные причины возникновения ошибки 403.
Права на файл
Как правило, ошибка 403 случается, если пользователь, который запускает процесс веб-сервера, не имеет прав на чтение запрашиваемого файла.
Чтобы привести пример устранения ошибки 403, предположим, что:
- пользователь пытается получить доступ к индексному файлу (http://example.com/index.html);
- рабочий процесс веб-сервера принадлежит пользователю www-data;
- индексный файл на сервере находится в /usr/share/nginx/html/index.html.
Итак, если пользователь получает ошибку 403 Forbidden, убедитесь, что пользователь www-data имеет права на чтение файла. Как правило, в подобной ситуации нужно просто изменить права на файл. Это можно сделать несколькими способами, но в данном случае подойдет вот эта команда:
sudo chmod o=r /usr/share/nginx/html/index.html
Файл .htaccess
Еще одна потенциальная причина возникновения ошибки 403 (часто это делается намеренно) — использование файла .htaccess. При помощи файла .htaccess можно запретить конкретным IP-адресам (или диапазонам адресов) доступ к определенным ресурсам.
Если пользователи неожиданно получают ошибку 403 Forbidden, убедитесь, что она не была вызвана настройками файла .htaccess.
Несуществующий индексный файл
Если пользователь пытается получить доступ к каталогу, который не имеет стандартного индексного файла, а листинг каталога (directory listing) отключен, веб-сервер будет возвращать ошибку 403 Forbidden. Такое случится, если, например, пользователь попытается получить доступ к каталогу http://example.com/emptydir/, а в каталоге emptydir на сервере нет индексного файла. Листинг каталога можно включить в конфигурациях сервера.
Ошибка 404 Not Found
Код статуса 404, или ошибка Not Found («не найдено») значит, что пользователь может взаимодействовать с сервером, но требуемый файл или ресурс отсутствует.
Ошибки 404 могут возникнуть в самых различных ситуациях. Ниже приведен список советов, которые помогут устранить проблему в случае, если пользователь неожиданно получил 404 Not Found:
- Проверьте ссылку, которая направляет пользователя на сервер, на наличие ошибок или опечаток.
- Возможно, пользователь ввел неверный URL.
- Может быть, нужного файла не существует в указанном месте на сервере; убедитесь, что запрашиваемый ресурс не был перемещен или удален с сервера.
- Проверьте, правильно ли указано местонахождение корневого каталога (document root) в конфигурации сервера.
- Возможно, пользователь, которому принадлежит рабочий процесс веб-сервера, не имеет соответствующих прав, чтобы открыть каталог, в котором находится запрашиваемый файл. Для доступа к каталогу нужны права на чтение и выполнение.
- Если пользователь переходит к ресурсу по символической ссылке, убедитесь, что веб-сервер настроен для поддержки символических ссылок.
Ошибка 500 Internal Server Error
Код состояния 500, или ошибка Internal Server Error («внутренняя ошибка сервера») означает, что сервер не может обработать запрос по неизвестной причине. Иногда этот код появляется в ситуациях, когда более подходящими являются другие сообщения об ошибках 5xx.
Как правило, причиной данной ошибки является неправильная настройка сервера (например, искаженный файл .htaccess) или нехватка некоторых пакетов (к примеру, запуск файла PHP без предварительно установленного PHP).
Ошибка 502 Bad Gateway
Код состояния 502, или ошибка Bad Gateway («ошибочный шлюз») значит, что запрашиваемый сервер является шлюзом или прокси-сервером, и он не получает валидных ответов от серверов бэкэнда, которые на самом деле выполнили запрос.
Если речь идет об обратном прокси-сервере (например, о балансировщике нагрузки), убедитесь, что:
- с серверами бэкэнда (на которые пересылаются HTTP-запросы) все в порядке;
- обратный прокси настроен правильно, в его настройках указаны корректные бэкэнды;
- сетевое соединение между серверами бэкэнда и обратным прокси-сервером в порядке. Если серверы могут взаимодействовать на других портах, убедитесь, что эти порты не заблокированы брандмауэром;
- нужные сокеты существуют в корректном местонахождении и имеют соответствующие разрешения (если веб-приложение настроено слушать сокеты).
Ошибка 503 Service Unavailable
Код состояния 503, или ошибка Service Unavailable («сервис недоступен») означает, что сервер перегружен или находится на обслуживании; такой сервис должен стать доступным в течение некоторого времени.
Если сервер не находится на обслуживании, эта ошибка может указывать на то, что серверу не хватает ресурсов процессора или памяти для обработки всех входящих запросов, или что нужно настроить веб-сервер для обслуживания большего количества пользователей или процессов.
Ошибка 504 Gateway Timeout
Код состояния 504, или ошибка Gateway Timeout («шлюз не отвечает») значит, что данный сервер является шлюзом или прокси-сервером, и он не получает ответа от бэкэнда в пределах допустимого периода времени.
Как правило, это происходит по следующим причинам:
- Плохое сетевое соединение между серверами;
- Внутренний сервер, который выполняет запрос, работает слишком медленно;
- В настройках сервера задано слишком короткое время ожидания шлюза или прокси-сервера.
Заключение
Теперь вы знакомы с основными кодами ошибок HTTP и знаете некоторые пути решения этих проблем.
Если же вы столкнулись с ошибкой, которая не была охвачена данной статьей, или знаете другие удобные способы устранения ошибок HTTP, пожалуйста, опишите их в комментариях ниже.
Ошибка 500 — что это значит и как исправить
Внутренняя ошибка сервера 500 — это общий код состояния HTTP, который означает, что что-то пошло не так на сервере веб-сайта, но сервер не может более конкретно сообщить о том, в чем именно заключается проблема.
Как вы могли увидеть ошибку 500
Сообщение 500 Internal Server Error может отображаться любым количеством способов, поскольку каждому веб-сайту разрешено настраивать сообщение.
Вот несколько распространенных названий ошибки HTTP 500:
- 500 — внутренняя ошибка сервера
- HTTP 500 — внутренняя ошибка сервера
- Временная ошибка (500)
- Внутренняя ошибка сервера
- Внутренняя ошибка HTTP 500
- Ошибка 500
- Ошибка HTTP 500
- 500. Это ошибка сервера
Поскольку веб-сайт, который вы посещаете, генерирует 500 ошибку сервера, его можно увидеть в любом браузере в любой операционной системе, даже на вашем смартфоне.
Большую часть времени, как и веб-страницы, в окне интернет-браузера отображается ошибка 500 Internal Server Error.
Причина ошибок HTTP 500
Как мы уже упоминали выше, сообщения о внутренних ошибках сервера указывают на то, что что-то в общем-то не так.
В большинстве случаев «ошибка» означает проблему в программировании страницы или сайта, но, безусловно, существует вероятность того, что проблема на вашей стороне, что мы рассмотрим ниже.
Как исправить внутреннюю ошибку сервера 500
Как мы упоминали выше, 500 Internal Server Error — это ошибка на стороне сервера, означающая, что проблема, вероятно, не в вашем компьютере или интернет-соединении, а в сервере веб-сайта.
Хотя это маловероятно, возможно, что-то не так с вашей стороны, и в этом случае мы рассмотрим некоторые вещи, которые вы можете попробовать:
Перезагрузите веб-страницу. Вы можете сделать это, нажав кнопку обновления / перезагрузки, нажав F5 или Ctrl + R или повторив попытку перехода на URL-адрес из адресной строки.
Даже если ошибка 500 Internal Server Error является проблемой на веб-сервере, проблема может быть временной. Повторная попытка загрузки страницы часто будет успешной.
Удалите куки вашего браузера. Некоторые проблемы с 500 Internal Server Error можно исправить, удалив файлы cookie, связанные с сайтом, на котором вы получаете ошибку. После удаления файлов cookie перезапустите браузер и повторите попытку.
Связь с сайтом напрямую является еще одним вариантом. Есть большая вероятность, что администраторы сайта уже знают об ошибке 500, но если вы подозреваете, что они этого не делают, то оповещение об этом помогает вам и им (и всем остальным).
Смотрите нашу статью в списке контактной информации на сайте для получения контактной информации о популярных сайтах. На большинстве сайтов есть учетные записи в социальных сетях, а на некоторых есть даже адреса электронной почты и номера телефонов.
Если во время онлайн-покупки появляется сообщение об ошибке 500 Internal Server Error, это может помочь понять, что продажи, вероятно, прерываются — обычно это отличный стимул для интернет-магазина быстро решить проблему!
Даже если вы получаете ошибку 500 на сайте, который ничего не продает, например на YouTube или Twitter, пока вы сообщаете им о проблеме или, по крайней мере, пытаетесь, вы можете сделать немного больше, чем ждать решения.
Исправление 500 ошибки сервера на вашем собственном сайте
Внутренняя ошибка сервера 500 на вашем собственном сайте требует совершенно другого подхода. Как мы упоминали выше, большинство из 500 ошибок являются ошибками на стороне сервера, а это, вероятно, ваша проблема, которую нужно исправить, если это ваш сайт.
Существует множество причин, по которым ваш сайт может показывать пользователям 500 ошибку, вот наиболее распространенные:
- Ошибка разрешений. В большинстве случаев ошибка 500 Internal Server Error связана с неправильным разрешением для одного или нескольких файлов или папок. В большинстве случаев, неправильное разрешение случается на PHP и на CGI. Обычно они должны быть установлены на 0755 (-rwxr-xr-x).
- Тайм-аут PHP. Если ваш сценарий подключения к внешним ресурсам и время ожидания этих ресурсов может привести к ошибке HTTP 500. Правила тайм-аута или лучшая обработка ошибок в вашем скрипте должны помочь, если это является причиной ошибки 500.
- Ошибка кодирования в .htaccess. Хотя это не так часто, убедитесь, что файл .htaccess вашего сайта правильно структурирован.
Если вы используете WordPress, Joomla или другую систему управления контентом или CMS, обязательно поищите в их центрах поддержки более конкретную помощь по устранению неисправности 500 Internal Server Error.
Коды статусов ответа по протоколу HTTP
Информационный (Informational 1xx)
Ответы в диапазоне 100-199 — информационные. Они показывают, что запрос клиента принят и обрабатывается.
100=»Continue»
Начальная часть запроса принята, и клиент может продолжать передачу запроса.
101=»Switching Protocols»
Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade.
Запрос клиента успешен (Successful 2xx)
Ответы в диапазоне 200-299 означают, что запрос клиента обработан успешно.
200=»OK»
Запрос клиента обработан успешно, и ответ сервера содержит затребованные данные.
201=»Created»
Этот код состояния используется в случае создания нового URI. Вместе с этим кодом результата сервер выдает заголовок Location (см. главу 19), который содержит информацию о том, куда были помещены новые данные.
202=»Accepted»
Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции. Гарантии того, что сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то, что на момент приема запрос выглядел допустимым.
203=»Non-Authoritative Information»
Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера.
204=»No Content»
Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа броузер не должен обновлять свой документ. Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения.
205=»Reset Content»
Броузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.
Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.
233 — because not everyone lives in «your country»
Запрос клиента переадресован (Redirection 3xx)
Код ответа в диапазоне 300-399 означает, что запрос не выполнен и клиенту нужно предпринять некоторые действия для удовлетворения запроса.
300=»Multiple Choices»
Затребованный URI обозначает более одного ресурса. Например, URI может обозначать документ, переведенный на несколько языков. В теле содержимого, возвращенном сервером, может находиться перечень более конкретных данных о том, как выбрать ресурс правильно.
301=»Moved Permanently» — перемещен навсегда
Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location. Во всех последующих запросах данного документа следует указывать новый URI.
При запросах не методом HEAD сервер должен передать в теле сообщения гипертекстовое пояснение. При использовании всех методов, кроме GET и POST, предварительно следует уведомить пользователя об изменении ссылки. Не стоить забывать, что некоторые агенты ошибочно меняют метод POST на GET после перехода на другой адрес.
302=»Moved Temporarily» — временно перемещен
Затребованный URI перемешен, но лишь временно. Заголовок Location указывает на новое местонахождение. Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URI, но во всех последующих запросах необходимо пользоваться старым URI.
При всех методах кроме HEAD сервер должен передать в теле гипертекстовое пояснение. При использовании всех отличных от GET и POST методов предварительно следует уведомить пользователя об изменении URI. При обращении к следующему ресурсу метод POST на GET менять следует как это делают некоторые агенты.
303=»See Other»
Затребованный URI можно найти по другому URI (указанному в заголовке Location). Его следует выбрать методом GET по данному ресурсу.
304=»Not Modified»
Это код ответа на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.
Доступ к затребованному URI должен осуществляться через proxy-сервер, указанный в заголовке Location.
Запрос клиента является неполным (Client Error 4xx)
Коды ответов в диапазоне 400-499 означают, что запрос клиента неполный. Эти коды могут также означать, что от клиента требуется дополнительная информация.
400=»Bad Request»
Означает, что сервер обнаружил в запросе клиента синтаксическую ошибку.
401=»Unauthorized» — требуется авторизация
Этот код результата, передаваемый с заголовком WWW-Authenticate, показывает, что пославший запрос пользователь не имеет необходимых полномочий и что при повторении запроса с указанием данного URI пользователь должен такие полномочия предоставить.
402=»Payment Required»
Этот код в HTTP еще не реализован.
403=»Forbidden»
Запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) ответить клиенту.
404=»Not Found» — не найдено
Документ по указанному URI не существует.
405=»Method Not Allowed» — метод не поддерживается
Этот код выдается с заголовком Allow и показывает, что метод, используемый клиентом, для данного URI не поддерживается.
406=»Not Acceptable»
Ресурс, указанный клиентом по данному URI, существует, но не в том формате, который нужен клиенту. Вместе с этим кодом сервер выдает заголовки Content-Language, Content-Encoding и Content-Type.
407=»Proxy Authentication Required» Прокси-сервер затребовал авторизацию.
Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate.
408=»Request Time-out»
Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который обычно задается в конфигурации сервера) и сервер разрывает сетевое соединение.
409=»Conflict»
Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информацию о конфликте следует возвратить в информационной части ответа.
410=»Gone»
Данный код показывает, что затребованный URI больше не существует и навсегда удален с сервера.
411=»Length Required»
Сервер не примет запрос без указанного в нем заголовка Content-Length.
412=»Precondition Failed»
Результат вычисления условия, заданного в запросе одним или несколькими заголовками if. . ., представляет собой «ложь».
413=»Request Entity Too Large»
Сервер не будет обрабатывать запрос, потому что его тело слишком велико.
414=»Request-URI Too Long» — запрос слишком длинный
Сервер не будет обрабатывать запрос, потому что его URI слишком длинный.
415=»Unsupported Media Type»
Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат.
416=»Requested Range Not Satisfiable»
Запрашиваемый диапазон не допустим
Ожидание не удалось
422=»Unprocessable Entity» — сервер успешно принял запрос, может работать с указанным видом данных (например, в теле запроса находится XML-документ, имеющий верный синтаксис), однако имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
В некоторых системах используется для передачи требования дополнительных данных: NOT ENOUGH DATA (не хвататет данных) 429=»You exceeded the rate limit»
Превышен лимит запросов
449 — Retry with a proxy in another country.
450=Rating Service Unavailable
451=Unavailable For Legal Reasons
доступ к ресурсу ограничен из-за проблем с законом. 451 — Site is not permitted in your country
452 could be site not permitted by employer,
453 could be site not permitted by ISP
460 Blocked by Repressive Regime
Ошибки сервера (Server Error 5xx)
Коды ответов в диапазоне 500-599 показывают, что сервер столкнулся с ошибкой и, вероятно, не сможет выполнить запрос клиента.
500=»Internal Server Error»
При обработке запроса на сервере один из его компонентов выдал аварийный отказ или столкнулся с ошибкой конфигурации. Часто бывает связанно с ошибками в файле .htaccess
501=»Not Implemented»
Клиент запросил выполнение действия, которое сервер выполнить не может.
502=»Bad Gateway»
Сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера).
503=»Service Unavailable»
Данный код означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен. Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After.
504=»Gateway Time-out»
Этот ответ похож на 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени.
505=»HTTP Version not supported»
Сервер не поддерживает версию протокола HTTP, использованную в запросе.
560 — Server is being censored
Ошибки ( Error 7xx)
702 — Your organization is being a twat.
703 — Your government is being a twat
704 — Your ISP is being a twat, and has messed with your DNS request, sending you to a spamvertizement for the domain requested.
705 — Your ISP is throttling / packet shaping the living hell out of your connection.
706 — Variant HTML requested (mobile, Flash-free. lots of flags in here).
707 — The current server time (in ticks since the epoch) & the server’s time zone.
Ошибки ( Error 9xx)
Для отправки кода статуса из PHP используется директива «header Status».