HTTP коды

1

1xx – информационные

100 Continue HTTP/1.1

«Продолжай» – сервер принял запрос, клиент может продолжать присылать заголовки.

101 Switching Protocols HTTP/1.1

«Переключение протоколов» – сервер предлагает перейти на другой протокол, список протоколов сервер указывает в заголовке Upgrade.

2

2xx – успешные запросы

200 OK HTTP/1.0

«Успешный запрос» – если клиентом были запрошены какие-либо данные, то они находятся в заголовках и/или теле ответа.

201 Created HTTP/1.0

«Создано» – в результате успешного запроса был создан новый ресурс. Сервер может указать адреса созданных ресурсов в теле ответа, при этом предпочтительный адрес указывается в заголовке Location.

202 Accepted HTTP/1.0

«Принято» – запрос был принят, но еще не обработан.

203 Non-Authoritative Information HTTP/1.1

«Информация не авторитетна» – успешный запрос, но передаваемая информация может быть неактуальной.

204 No Content HTTP/1.0

«Нет содержимого» – сервер успешно обработал запрос, но в ответе были переданы только заголовки.

205 Reset Content HTTP/1.1

«Сбросить содержимое» – сервер обязывает сбросить введенные пользователем данные.

206 Partial Content HTTP/1.1

«Частичное содержимое» – сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого.

3

3xx – перенаправления

300 Multiple Choices HTTP/1.0

«Множество выборов» – по запросу существует несколько вариантов ресурса (по MIME, языку и т.д.). Сервер передает список альтернатив, давая клиенту возможность сделать выбор.

301 Moved Permanently HTTP/1.0

«Ресурс перемещен навсегда» – документ был окончательно перенесен на новый URI, указанный в заголовке Location.

301-й редирект в PHP

header('Location: https://exsample.com', true, 301);
exit();
PHP

302 Found HTTP/1.0

«Перемещено временно» – запрошенный документ временно доступен по другому URI, указанному в заголовке Location.

303 See Other HTTP/1.1

«Смотреть другое» – сервер сообщает что документ нужно запросить по адресу переданному в заголовке Location с использованием GET-метода.

Используется для перенаправления после отправки формы методом POST (метод Post/Redirect/Get).

304 Not Modified HTTP/1.0

«Не изменялось» – сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Подробнее о заголовках Last-Modified.

305 Use Proxy HTTP/1.1

«Использовать прокси» – запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в Location.

307 Temporary Redirect HTTP/1.1

«Временное перенаправление» – запрашиваемый ресурс на короткое время доступен по другому URI, указанный в заголовке Location. Метод запроса (GET/POST) менять не разрешается.

308 Permanent Redirect HTTP/1.1

«Постоянное перенаправление» – ресурс был окончательно перенесен на новый URI, указанный в Location. Метод запроса (GET/POST) менять не разрешается.

4

4xx – ошибки клиента

400 Bad Request HTTP/1.0

«Неверный запрос» – запрос не может быть понят сервером из-за некорректного синтаксиса.

401 Unauthorized HTTP/1.1

«Неавторизованный запрос» – для доступа необходимо ввести логин и пароль.

402 Payment Required HTTP/1.1

«Необходима оплата за запрос» – в настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов.

403 Forbidden HTTP/1.0

«Доступ к ресурсу запрещен» – сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.

404 Not Found HTTP/1.0

«Ресурс не найден» – документ не существует.

Отправка 404-го кода в PHP

header('HTTP/1.0 404 Not Found');
PHP

405 Method Not Allowed HTTP/1.1

«Недопустимый метод» – указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой.

406 Not Acceptable HTTP/1.1

«Неприемлемый запрос» – нужный документ существует, но не в том формате (язык или кодировка).

407 Proxy Authentication Required HTTP/1.1

«Требуется идентификация прокси» – ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера.

408 Request Timeout HTTP/1.1

«Время запроса истекло» – клиент не передал полный запрос в течение установленного времени и сервер разорвал соединение.

409 Conflict HTTP/1.1

«Конфликт» – запрос конфликтует с другим запросом или с конфигурацией сервера. Например, такое возможно когда два клиента пытаются изменить ресурс с помощью метода PUT.

410 Gone HTTP/1.1

«Недоступен» – такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был окончательно удален с сайта. Если документ в ближайшее время может быть восстановлен, то лучше передать 404-й код.

411 Length Required HTTP/1.1

«Необходимо указать длину» – сервер отказывается принимать запрос без заголовка Content-Length. Такой ответ естественен для запросов типа POST и PUT.

412 Precondition Failed HTTP/1.1

«Условие ложно» – при проверке на сервере одного или более заголовков обнаружено несоответствие.

413 Payload Too Large HTTP/1.1

«Тело запроса превышает допустимый размер» – сервер отказывается обрабатывать запрос из-за слишком большого размера тела.

414 URI Too Long HTTP/1.1

«Недопустимая длина URI запроса» – сервер не может обработать запрос из-за слишком длинного URI.

415 Unsupported Media Type HTTP/1.1

«Неподдерживаемый MIME» – сервер отказывается работать с указанным типом данных.

416 Range Not Satisfiable HTTP/1.1

«Диапазон не может быть обработан» – в заголовке Range был указан недопустимый диапазон байтов.

417 Expectation Failed HTTP/1.1

«Сбой при ожидании» – сервер отказывается обрабатывать запрос, потому что значение заголовка Expect не соответствует ожиданиям.

426 Upgrade Required

«Требуется обновление» – сервер отказывается выполнять запрос с использованием текущего протокола. Введено в для возможности перехода к TLS.

5

5xx – ошибки сервера

500 Internal Server Error HTTP/1.0

Внутренняя ошибка сервера. Обычно возникает из-за ошибок в файле .htaccess или критической ошибки PHP при отключенном показе ошибок.

Включить показ ошибок PHP

error_reporting(E_ALL);
ini_set('display_errors', 1); 
PHP

501 Not Implemented HTTP/1.0

«Не реализовано» – сервер не имеет возможностей для обработки запроса.

502 Bad Gateway HTTP/1.0

«Плохой, ошибочный шлюз» – сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.

503 Service Unavailable HTTP/1.0

«Сервис недоступен» – сервер временно не может обрабатывать запросы по техническим причинам. В заголовке Retry-After указывается время, через которое клиенту рекомендуется повторить запрос.

504 Gateway Timeout HTTP/1.1

«Шлюз не отвечает» – сервер в роли прокси-сервера не дождался ответа от вышестоящего сервера.

505 HTTP Version Not Supported HTTP/1.1

«Версия HTTP не поддерживается» – сервер не поддерживает предлагаемую версию протокола HTTP.

25.07.2019, обновлено 09.09.2019 254

Поделится

Другие публикации

В статье приведен пример формы и php скрипта для безопасной загрузки файлов на сервер, метод отправки файлов через...
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет...
Примеры как зарегистрировать бота в Телеграм, описание и взаимодействие с основными методами API.
После регистрации в системе эквайринга Сбербанка и получив доступ к тестовой среде, можно приступить к интеграции с...
Описание значений глобального массива $_SERVER с примерами.