Код состояния HTTP (англ. HTTP status code) — часть первой строки ответа сервера при запросах по протоколу HTTP.
Представляет собой целое трёхразрядное десятичное число. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа. Примеры:
201 Webpage Created 403 Access allowed only for registered users 507 Insufficient Storage
Клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода. В настоящее время выделено пять классов кодов состояния.
Веб-сервер Internet Information Services в своих файлах журналов, кроме стандартных кодов состояния, использует подкоды, записывая их через точку после основного. При этом в ответах от сервера данный подкод не размещается — он нужен администратору сервера, чтобы тот мог более точно определять источники проблем.


В этот класс выделены коды, информирующие о процессе передачи. При работе через протокол версии 1.0 сообщения с такими кодами должны игнорироваться. В версии 1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но серверу отправлять что-либо не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-серверы подобные сообщения должны отправлять дальше от сервера к клиенту.
- 100 Continue — сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
- 101 Switching Protocols — сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка
Upgrade. Сервер отправляет заголовок ответаUpgrade, указывая протокол, на который он переключился. Появился в HTTP/1.1. - 102 Processing — запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.
- 103 Early Hints — используется для раннего возврата части заголовков, когда заголовки полного ответа не могут быть быстро сформированы.
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента.
В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.
- 200 OK — успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения. Появился в HTTP/1.0.
- 201 Created — в результате успешного выполнения запроса был создан новый ресурс. Сервер может указать адреса (их может быть несколько) созданного ресурса в теле ответа, при этом предпочтительный адрес указывается в заголовке
Location. Серверу рекомендуется указывать в теле ответа характеристики созданного ресурса и его адреса, формат тела ответа определяется заголовкомContent-Type. При обработке запроса новый ресурс должен быть создан до отправки ответа клиенту, иначе следует использовать ответ с кодом202. Появился в HTTP/1.0. - 202 Accepted — запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.
- 203 Non-Authoritative Information — аналогично ответу
200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1. - 204 No Content — сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
- 205 Reset Content — сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
- 206 Partial Content — сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке
Content-Rangeсервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее…) - 207 Multi-Status — сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом
multistatus. Не рекомендуется размещать в этом объекте статусы из серии1xxиз-за бессмысленности и избыточности. Появился в WebDAV. - 208 Already Reported — члены привязки DAV уже были перечислены в предыдущей части (multistatus) ответа и не включаются снова.
- 226 IM Used — заголовок
A-IMот клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.
Коды этого класса сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям. Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.
Поведение клиентов при различных перенаправлениях описано в таблице:
| Статус ответа | Кэширование | Если метод не GET или HEAD |
|---|---|---|
301 Moved Permanently | Можно как обычно. | Спросить у пользователя подтверждения и запросить другой ресурс исходным методом. |
307 Temporary Redirect | Можно только если указан заголовок Cache-Control или Expires. | |
302 Found (HTTP/1.1)302 Moved Temporarily (HTTP/1.0) | ||
303 See Other | Нельзя. | Перейти автоматически, но уже методом GET. |
- 300 Multiple Choices — по указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
- 301 Moved Permanently — запрошенный документ был окончательно перенесен на новый URI, указанный в поле
Locationзаголовка. Если клиент хранит данный URI, то его следует заменить на новый. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0. - 302 Found, 302 Moved Temporarily — запрошенный документ временно доступен по другому URI, указанному в заголовке в поле
Location. Этот код может быть использован, например, при управляемом сервером согласовании содержимого. Некоторые[какие?] клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0. - 303 See Other — документ по запрошенному URI нужно запросить по адресу в поле
Locationзаголовка с использованием методаGETнесмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с кодом307для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методомGET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методомPOST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом303, указав в заголовкеLocationего постоянный адрес. Тогда браузер гарантировано его запросит методомGETдля получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1. - 304 Not Modified — сервер возвращает такой код, если клиент запросил документ методом
GET, использовал заголовокIf-Modified-SinceилиIf-None-Matchи документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0. - 305 Use Proxy — запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле
Locationзаголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси). Введено в HTTP/1.1. - 306 (зарезервировано) — использовавшийся в ранних версиях спецификации код ответа, в настоящий момент зарезервирован. Упомянут в RFC 2616 (обновление HTTP/1.1). Согласно ранним наброскам, код означал Switch Proxy, указывая клиенту сменить используемый прокси-сервер на указанный сервером в заголовке ответа[22].
- 307 Temporary Redirect — запрашиваемый ресурс на короткое время доступен по другому URI, указанный в поле
Locationзаголовка. Метод запроса (GET/POST) менять не разрешается. Например, POST-запрос должен быть отправлен по новому URI тем же методом POST. Этот код был введён вместе с 303-м вместо 302-го для избежания неоднозначности. Введено в RFC 2616 (обновление HTTP/1.1). - 308 Permanent Redirect — запрашиваемый ресурс был окончательно перенесен на новый URI, указанный в поле
Locationзаголовка. Метод запроса (GET/POST) менять не разрешается. Например, POST-запрос должен быть отправлен по новому URI тем же методом POST. Этот код был введён вместо 301-го для избежания неоднозначности. Введено в RFC 7238 (RFC 7538).
Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.
- 400 Bad Request — сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
- 401 Unauthorized — для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле
WWW-Authenticateс перечнем условий аутентификации. Иными словами, для доступа к запрашиваемому ресурсу клиент должен представиться, послав запрос, включив при этом в заголовок сообщения полеAuthorizationс требуемыми для аутентификации данными. Если запрос уже включает данные для авторизации, ответ 401 означает, что в авторизации с ними отказано. - 402 Payment Required — предполагается использовать в будущем[когда?]. В настоящий момент[когда?] не используется. Этот код предусмотрен для платных пользовательских сервисов, и некорректно выдавать его хостинг-провайдерам, если хозяин сайта не оплатил их услуги. Зарезервирован, начиная с HTTP/1.1.


Коды 5xx выделены под случаи необработанных исключений при выполнении операций на стороне сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.
- Основные документы по протоколу HTTP (по убыванию даты публикации)
- Hypertext Transfer Protocol (HTTP) Status Code Registry . IANA (17 октября 2007). — реестр кодов состояния HTTP. Дата обращения: 30 июля 2009. Архивировано 17 февраля 2012 года.
- ‘RFC 2616 Draft standard «Hypertext Transfer Protocol — HTTP/1.1» (англ.) (с англ. «Протокол передачи гипертекста — HTTP/1.1»); IETF, июнь 1999; Fielding Roy (), Gettys Jim (Compaq/W3C), Mogul J. (Compaq), (MIT/W3C), Masinter L. (Xerox), Leach P. (Microsoft), Berners-Lee Tim (W3C/MIT) — обновление протокола HTTP версии 1.1.
- RFC 2068 Proposed standard «Hypertext Transfer Protocol — HTTP/1.1» (англ.) (с англ. «Протокол передачи гипертекста — HTTP/1.1»); IETF, январь 1997; Fielding Roy (), Gettys Jim (DEC), Mogul J. (DEC), (MIT/LCS), Berners-Lee Tim (MIT/LCS) — ранняя спецификация по HTTP версии 1.1.
- RFC 1945 Informational «Hypertext Transfer Protocol — HTTP/1.0» (англ.) (с англ. «Протокол передачи гипертекста — HTTP/1.0»); IETF, май 1996; Berners-Lee Tim (MIT/LCS), Fielding Roy (), (MIT/LCS) — самая первая спецификация по протоколу HTTP. Так же включает в себя описание HTTP/0.9.
- Документы по расширениям и обновлениям протокола HTTP (по убыванию даты публикации)
- RFC 4918 Proposed Standard «HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)» (англ.) (с англ. «Расширения HTTP для распределённой авторской работы и управления версиями через веб (WebDAV)»); IETF, июнь 2007; Dusseault Ed. L. () — поздняя спецификация по протоколу WebDAV, заместившая RFC 2518.
- RFC 3229 Proposed standard «Delta encoding in HTTP» (англ.) (с англ. «Дельта-кодирование в HTTP»); IETF, январь 2002; Mogul J. (Compaq WRL), Krishnamurthy B. (AT&T), Douglis F. (AT&T), Feldmann A. (Univ. of Saarbrücken), Goland Y. (Marimba), van Hoff A. (Marimba), Hellerstein D. (ERS/USDA).
- RFC 2817 Proposed Standard «Upgrading to TLS Within HTTP/1.1» (англ.) (с англ. «Обновление к TLS совместно с HTTP/1.1»); IETF, май 2000; (4K Associates/), Lawrence S. (Agranat Systems, Inc.) — обновление к RFC 2616 для описания работы HTTP и TLS.
- RFC 2774 Experimental «An HTTP Extension Framework» (англ.) (с англ. «Каркас расширений HTTP»); IETF, февраль 2000; Nielsen H. (Microsoft), Leach P. (Microsoft), Lawrence S. (Agranat Systems).
- Internet Draft «WebDAV Advanced Collections Protocol» (с англ. «Протокол продвинутых коллекций WebDAV»); IETF, 18 июня 1999; Slein J. (Xerox), Whitehead Jr. E. J. (), Davis J. (CourseNet), Clemm G. (Rational), Fay C. (), Crawford J. (IBM), Chihaya T. (DataChannel) — управление коллекциями в WebDAV; просрочился 18 декабря 1999 года.
- RFC 2518 Proposed Standard «HTTP Extensions for Distributed Authoring — WEBDAV» (англ.) (с англ. «Расширения HTTP для распределённой авторской работы — WEBDAV»); IETF, февраль 1999; Goland Y. (Microsoft), Whitehead E. (), Faizi A. (Netscape), Carter S. (Novell), Jensen D. (Novell) — первая спецификация по протоколу WebDAV (замещена RFC 4918).
- RFC 2295 Experimental «Transparent Content Negotiation in HTTP» (англ.) (с англ. «Прозрачное согласование содержимого в HTTP»); IETF, март 1998; Holtman K. (TUE), Mutz A. (Hewlett-Packard).
- Дополнительные материалы
- Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions . Microsoft (14 марта 2007). — описание поддержки клиентских расширений в протоколе WebDAV. Дата обращения: 30 июля 2009. Архивировано 17 февраля 2012 года.
- RFC 2324 Informational «Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)» (англ.) (с англ. «Гипертекстовый протокол управления кофеваркой (HTCPCP/1.0)»); IETF, 1 апреля 1998; Masinter L..
- KB 318380 Коды состояния служб IIS. Microsoft (4 декабря 2007). — список расширенных кодов состояния для протоколов HTTP и FTP. Дата обращения: 16 января 2010. Архивировано 17 февраля 2012 года.
- Справочник по кодам статуса HTTP. Яндекс. — обработка кодов состояния HTTP роботами Яндекса. Дата обращения: 2 мая 2018.
О чем речь? Коды ошибок HTTP указывают на конкретные причины проблем, с которыми сталкивается сервер в попытке обработать клиентские запросы.
На что обратить внимание? Рассказать подробно про каждый вид ошибки будет сложно, так как их довольно много. Однако чаще всего встречается не такое большое количество, как правило, это всем знакомые ошибки 404, 502, 504 и т.д.
В статье рассказывается:
- Суть кодов ошибок HTTP
- Коды 3xx (перенаправление)
- Коды ошибок HTTP на стороне клиента
- Серверные коды ошибок HTTP
- Способы устранения некоторых кодов ошибок HTTP
- Способы проверки кодов ошибок HTTP
- Часто задаваемые вопросы о кодах ошибок HTTP
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
HTTP-статус является сообщением, которое сервер отправляет клиенту в ответ на его запрос. Например, когда пользователь переходит по ссылке или вводит запрос в веб-браузер. Коды показывают, был ли выполнен конкретный запрос клиента. Сведения в коде влияют на то, как поисковый робот или браузер будет обрабатывать содержимое страницы.
Стандартизированный код состояния состоит из трех цифр. Некоторые коды ошибок HTTP часто встречались пользователям сети, другие — нет. В целом никаких трудностей в интерпретации стандартизированных кодов состояния не возникнет даже у людей, далеких от программирования.

Обозначим ключевые термины:
- Клиент — это программное или аппаратное обеспечение, имеющее подключение к интернету и запрашивающее некоторую функцию или данные у сервера.
- Сервер — это компьютер, на котором хранятся данные. Он выполняет ряд служебных функций для других компьютеров сети, принимает клиентские запросы и отвечает на них.
Существует 5 категорий серверных ответов. Класс состояния можно определить по первой цифре.
- 5** — серверные ошибки. Причина технической ошибки со стороны сервера указывается в коротком текстовом описании после кода. Например, ошибка 500 — это внутренние сбои, реже — высокая нагрузка на сервер.
- 4** — клиентские ошибки.
- 3** — перенаправления на другой адрес (не ошибка).
- 2** — успешный запрос (не ошибка).
- 1** — информационные сообщения, передача данных (не ошибка).
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Уже скачали 29166
Полный список кодов состояния приведен в спецификации протокола.
Не будем останавливаться на HTTP-ответах 1** и 2**. Рассмотрим подробнее другие стандартизированные коды ошибок состояния HTTP.
Коды 3xx (перенаправление)
Эти стандартизированные коды нужны для того, чтобы сообщить пользователю, какое действие следует выполнить для успешного осуществления запроса. Коды 3xx предназначены для перенаправления клиента. Это не коды ошибок HTTP сервера. Однако знание того, как интерпретируются различные HTTP-статусы, поможет пользователям и веб-мастерам эффективно использовать программное обеспечение.
| Код | Значение | Характеристика |
| 300 | Несколько возможных ответов | Код ответа 300 Multiple Choices означает, что по запрашиваемому адресу есть несколько представлений. Клиент может выбрать один из вариантов, выданных сервером. Для правильной индексации страницы пользователю следует исправить название ресурса или заголовки. |
| 301 | Ресурс перемещен на новый URL | Клиент получает HTTP-код 301 Moved Permanently. Ранее проиндексированный URL окончательно перемещен на новый URL, указанный в заголовке Location. Робот проиндексирует новую страницу. |
| 302 | Перемещен временно | Клиент получает HTTP-код 302 Found. На данный момент ресурс временно доступен на другом адресе. Страница остается в индексе. В ответе указывается новый адрес запрашиваемого URL. |
| 303 | Смотри другой адрес | HTTP-статус 303 See Other указывает, что запрошенная страница находится по другому адресу по запросу GET. Если нужно, чтобы страница отображалась в поиске, нужен код ответа 200. |
| 304 | Ресурс не модифицирован | HTTP-код 304 Not Modified используется для кэширования и означает, что страница не изменялась с момента крайнего обращения робота. Это ускоряет индексирование и экономит трафик. |
| 305 | Нужно использовать прокси | HTTP-код 305 Use Proxy означает, что запрошенный ресурс доступен через прокси-сервер. Данные сервера указаны в ответе. |
| 307 | Временное перемещение | Клиент получает HTTP-код 307 Temporary Redirect, который означает, что запрашиваемая страница временно переехала на новый адрес. Данные прописаны в Location. |
| 308 | Ресурс перенесен навсегда | HTTP-код 308 Permanent Redirect означает, что ресурс находится на другом URL-адресе. Данные прописаны в Location. Робот индексирует страницу перенаправления в случае, если она доступна. |
Коды ошибок HTTP на стороне клиента
- 400 Bad Request
Запрос неправильный. Ошибка возникает в случае, если браузер клиента отправляет некорректный запрос серверу. Это может быть синтаксическая ошибка. Например, в запросе отсутствовали символы завершения строки.
- 401 Unauthorized

Проблема решится, когда пользователь авторизуется.
- 402 Payment Required
Это нестандартный HTTP-статус. Он означает, что запрос не может быть выполнен, пока пользователь не произведет оплату. Код используется в платных пользовательских сервисах, а не в хостинговых провайдерах.
- 403 Forbidden
Запрет доступа к запрашиваемой странице. Он связан с тем, что у пользователя нет прав. Доступ может быть ограничен для определенных IP или в случае, если неавторизованный клиент пытается открыть файлы в системной папке. Этот код встречается, если сервер обнаружил вредоносные данные.
- 404 Not Found
Это один из самых распространенных кодов ошибки HTTP клиента. Сервер дает ответ, что страница не найдена по данному URL. Например, страница перенесена на другой адрес. Не стоит путать код 404 с ошибкой «Сервер не найден». В данном случае клиент в состоянии общаться с сервером, но данных по его запросу нет.
- 405 Method Not Allowed
Сервер сообщает, что используемый метод не может применяться на данном ресурсе. Он предложит доступные методы в заголовке Allow.
- 406 Not Acceptable
Этот код ошибки указывает, что запрашиваемый контент не может быть распознан из-за кодировки, метода сжатия и других причин.
- 407 Proxy Authentication Required
Доступ будет открыт, если пройти авторизацию через сервер-посредник (прокси-сервер). Это аналог кода 401.
- 408 Request Timeout
Сервер хочет отключить соединение, так как обработка запроса пользователя вышла за рамки установленного времени. У каждого ресурса есть свое время ожидания. Пользователю первым делом необходимо проверить интернет-соединение и обновить страницу.
- 409 Conflict
Запрос пользователя вызывает конфликт с текущим состоянием сервера или несовместим с другим запросом.
- 410 Gone
Это ответ сервера в случае, если запрашиваемый контент больше недоступен или удален.
- 411 Length Required
Сервер отказывается обрабатывать запрос, так как не указан Content‑Length заголовка. Необходимо указать заголовки на сервере, чтобы этот код ошибки состояния HTTP больше не возникал.
- 412 Precondition Failed
Клиент указал в запросах условие, которое нельзя выполнить. В одном или нескольких HTTP‑заголовках было указано значение false.
- 413 Request Entity Too Large
Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение. Веб-браузеры поддерживают запрос от 2 до 8 килобайт.
- 414 Request‑URI Too Long
У веб-сервера есть ограничение длины для интерпретации, а запрашиваемый URL длиннее установленных рамок. Чтобы избежать возникновения этого кода ошибки HTTP запросов, следует использовать метод GET, а не POST.

- 415 Unsupported Media Type
Запрос клиента не может быть обработан сервером. Такое случается, если загружаются данные неподходящего формата. В таком случае сервер просто отклоняет запрос.
- 416 Requested Range Not Satisfiable
Недопустимое значение байтов диапазона в HTTP-заголовке. Сервер не может обработать запрос. Причина может быть в опечатке клиента.
- 417 Expectation Failed
Сервер отклонил запрос пользователя, так как в поле Expect введено некорректное значение.
- 418 I’m a teapot
Это первоапрельская шутка разработчиков, появившаяся в 1998 году. Сервер не может сварить вам кофе, потому что он чайник. На деле этот код не применяется.
- 422 Unprocessable Entity
Сервер видит запрос клиента. Синтаксис верный, но обработка невозможна из-за наличия логической ошибки. Нужно обратить внимание на семантическое ядро сайта.
Только до 22.07

ТОП-100 площадок для поиска работы от GeekBrains

20 профессий 2023 года, с доходом от 150 000 рублей

Чек-лист «Как успешно пройти собеседование»
- 423 Locked
Страница, которую запрашивает пользователь, заблокирована от применения указанного метода. Возможен следующий вариант решения проблемы: перезагрузка роутера и компьютера и использование статистического IP.
- 424 Failed Dependency
Успешное выполнение данного запроса зависит от исхода других операций. Если одна из них завершится неуспешно, то и остальные тоже. В случае, если условия не будут соблюдены, соединение разорвется.
- 425 Unordered Collection
Этот код ошибки HTTP возникает, если клиент отправил запрос, указывающий позицию в неупорядоченной коллекции. Также причиной данного кода ответа может быть использование порядка элементов, отличающегося от серверного.

- 426 Upgrade Required
Ошибка говорит о том, что необходимо обновить протокол. Указываются точные расширения протокола, которыми должен обслуживаться ресурс.
Эта ошибка возникает, когда сервер запрашивает соединение, которое не поддерживается клиентом.
- 428 Precondition Required
Этот код статуса означает, что сервер требует, чтобы запрос был условным. Это значит, что он должен соответствовать условиям правильной отправки данных на сервер. Так он сможет выдать корректные данные.
- 429 Too Many Requests
Этот код ошибок HTTP возникает, когда превышен лимит отправляемых пользователем запросов за короткий промежуток времени. Это делается, прежде всего, из соображений безопасности.
- 431 Request Header Fields Too Large
Невозможна обработка запроса пользователя, так как отправлен заголовок слишком большой длины. Возможно также отсутствие ответа кодом со стороны сервера. В таком случае соединение будет разорвано.
Решение проблемы: сокращение длины заголовков и отправка повторного запроса.
- 434 Requested Host Unavailable
Сведения о данном HTTP-коде не найдены.
- 444 No Response
Это код ошибки HTTP со стороны клиента в веб-сервере Nginx. Он сообщает, что соединение закрыто без отправки данных клиенту. Нельзя использовать данный метод в текущей процедуре обработки события.
Nginx — это мощный веб-сервер. Чаще всего его используют в качестве сервера-посредника и обратного сервера. Nginx расходует минимум ресурсов и держит большое количество одновременных соединений.
- 449 Retry With
Ошибка говорит о том, что полученных данных недостаточно для обработки запроса сервером. Рекомендуется внести корректировки в запрос и повторить его.
- 450 Blocked by Windows Parental Controls

- 451 Unavailable For Legal Reasons
Клиент видит данный код ошибки HTTP в случае, если доступ к сайту закрыт по юридическим причинам. Это могут быть государственные санкции, цензура, требование правообладателя о нарушении авторских прав.
- 456 Unrecoverable Error
При обработке запроса пользователя появляются непоправимые ошибки в базе данных.
- 499 Client Closed Request
Эту ошибку веб-сервер Nginx выдает в случае, если клиент закрыл соединение во время его обработки. Сервер не может отправить назад заголовок HTTP.
Серверные коды ошибок HTTP
Эти ошибки не относятся к пользовательским. Они возникают со стороны сервера, когда он не может обработать запрос клиента или осуществить запрашиваемое действие.
- 500 Internal Server Error
Код ошибки HTTP сервера появляется, когда он встречает ситуацию, обработка которой ему не знакома. Также возможен вариант, что данный запрос не поддерживается сервером и его обработка невозможна. В таких ситуациях сервер тоже отправляет HTTP-статус 500.
- 501 Not Implemented
Ошибка 501 сообщает, что метод запроса сервером не поддерживается и его невозможно корректно обработать.
В ряде случаев в теле ошибки может быть указано: «Отправьте запрос позднее. Возможно, необходимая функция будет доступна».
- 502 Bad Getaway
Такая ошибка отправляется в случае недействительного ответа от вышестоящего сервера. Основная причина — несогласованные протоколы сервера и посредника.

- 503 Service Unavailable
Сервер временно не доступен. Он не может обработать запрос клиента по следующим причинам:
- Перегрузка сервера из-за обращения большого количества пользователей и нехватки ресурсов для обработки всех запросов.
- Техническое обслуживание сервера, которое приводит к временной блокировке его работы.
Клиенту рекомендуется отправить запрос позднее.
- 504 Gateway Timeout
Это код ошибки HTTP сервера является аналогом статуса 408. Сервер действует как шлюз и не получил ответ от вышестоящего сервера в обозначенное в настройках время.
- 505 HTTP Version Not Supported
Этот код аналогичен 426. Он сообщает, что сервер не поддерживает версию протокола HTTP, который используется клиентом. Это случается, если используется устаревший формат HTTP-протокола. Решением проблемы будет установка одной версии.
- 506 Variant Also Negotiates
Этот код говорит о проблемах в настройках сервера. Программисту сначала нужно обнаружить суть проблемы, а в дальнейшем выбрать наиболее эффективное решение.
- 507 Insufficient Storage
Код ошибки HTTP сервера 507 сообщает о том, что не хватает места для обработки пользовательских запросов. Решение: необходимо освободить пространство на сервере или расширить его. В этом случае не возникнет трудностей с обработкой запросов клиента.
- 508 Loop Detected
Данный код сервер отправляет в случае, если обнаружена цикличность запросов клиента. Это приводит к закрытию операции.
- 509 Bandwidth Limit Exceeded
Это сообщение о том, что превышен лимит потребляемого трафика. Ошибка актуальна в случае, если установлено ограничение.
- 510 Not Extended
У сервера отсутствует расширение, которое пользователь запрашивает. Список доступных расширений прописывается в теле ошибки.
- 511 Network Authentication Required
511 код ошибки HTTP сервера означает, что пользователю необходимо авторизоваться. Данные для аутентификации необходимы при PPPoE-подключении.
Способы устранения некоторых кодов ошибок HTTP
Рассмотрим, что рекомендуется делать для устранения ошибок протокола HTTP:
- Если внесены изменения после тестирования программного обеспечения, нужно обновить веб-браузер.
- Проанализируйте журнал сервера для понимания процессов обработки запросов. У веб-серверов Apache и Nginx имеются файлы access.log и error.log. В них содержатся необходимые сведения.
- Обратите внимание: описание кодов ошибок HTTP— это часть стандарта. Он осуществляется приложением, которое обслуживает запросы клиента. Получается, что код ответа сервера во многом определяется тем, как программное обеспечение обрабатывает ту или иную ошибку.
Итак, рассмотрим самые распространенные ошибки со стороны клиента или сервера.
Ошибка 400 Bad Request
Среди основных причин, которые приводят к возникновению ошибки 400:
- Большое количество файлов cookies и данных в кэше. Решением проблемы будет очистка кэша веб-браузера и файлов cookies.
- Неисправности в браузере.
- Неправильный HTTP-запрос из-за клиентской ошибки, например, при использовании curl.
Ошибка 401 Unauthorized

Ошибка 403 Forbidden
Этот код состояния сообщает клиенту, что сервер не может выполнить запрос из-за того, что имеется запрет на доступ к требуемым файлам или страницам.
В основном код ошибки 403 появляется, если у клиента нет прав на чтение файла, который он запрашивает.
Рассмотрим, каким образом можно устранить ошибку 403 на следующем примере:
- клиент осуществляет попытку открыть индексный файл (http://example.com/index.html);
- рабочий веб-браузер принадлежит пользователю www-data;
- индексный файл расположен в /usr/share/nginx/html/index.html.
Итак, когда клиент видит код ошибки 403, первым делом нужно проверить, есть ли у пользователя www-data право доступа.
Сервер может отправлять ошибку 403 и в случае, если клиент пытается открыть каталог, у которого нет индексного файла и отключен листинг. Например, клиент пытается открыть каталог http://example.com/emptydir/. При этом в emptydir отсутствует индексный файл. Рекомендуется включить листинг каталога в настройках сервера.
Ошибка 404 Not Found
Код ошибки HTTP 404 сообщает, что сервер не находит данные по запросу клиента.
Причин возникновения HTTP-статуса 404 может быть много. Рассмотрим основные факторы, которые приводят к данной ошибке, а также возможные варианты решения проблемы:
- Первым делом проверьте правильность написания ссылки, которая отправляет клиента на сервер.
- Часто случается, что клиент вводит неправильный URL.
- Есть вероятность, что запрашиваемый файл отсутствует в указанном месте на сервере (перемещен или удален).
- Проверьте, верно ли указано расположение корневой директории (document root) в конфигурации сервера.
- Ошибку 404 может вызвать и то, что у пользователя, которому принадлежит рабочий процесс, нет необходимых прав для открытия каталога, где находится необходимый файл. Для этого требуются соответствующие права доступа.
- Проверьте, поддерживает ли сервер символические ссылки.
Ошибка 500 Internal Server Error
Код ошибки HTTP сервера 500 говорит о том, что есть внутренние неизвестные причины, которые не позволяют выполнить запрос пользователя. Случается, что сервер отправляет этот код в ситуациях, когда больше подходят другие коды 5xx.
Основные причины ошибки 500: неправильные права доступа на папки и файлы, вызывающие невозможность запуска скрипта. Также неправильная инструкция в файле .htaccess или неподдерживаемые директивы приводят к данному HTTP-статусу в ответ на запрос клиента.

Ошибка 502 Bad Gateway
Код ошибки 502 является результатом запроса, при котором был получен недопустимый ответ от сервера.
В случае, если это обратный прокси-сервер (выравниватель нагрузки) необходимо проверить:
- backend сервера;
- верно ли настроен обратный прокси и правильный ли backend в настройках;
- настройки сетевого соединения между серверами backend и обратным прокси-сервером. Также нужно проверить порты и отсутствует ли блокировка брандмауэром;
- есть ли разрешения у сокетов и корректно ли они расположены.
Ошибка 503 Service Unavailable
Код ошибки 503 сообщает, что сервер временно недоступен. Это может быть связано с перегрузкой или техническим обслуживанием.
Технические работы проводятся в случае нехватки ресурсов, плановой разгрузки сервера, а также при его настройке для отработки большого количества входящих запросов.
Ошибка 504 Gateway Timeout
Код состояния 504 говорит о том, что сервер не получает ответ от севера-посредника (шлюз, прокси-сервер) в рамках установленного времени. Сбои в шлюзах влияют на работу основного сервера.

Основные причины появления кода ошибки HTTP сервера 504:
- проблемы с сетью, слабое интернет-соединение между шлюзом и основным сервером;
- перегрузка сервера-шлюза, который из-за большой нагрузки не может быстро выполнить работу;
- в настройках сервера указан короткий период ожидания ответа от сервера-посредника.
Способы проверки кодов ошибок HTTP
Проверить коды ошибки состояния HTTP можно, используя специализированные сервисы или через опции браузера. В браузере Google Chrome код ответа можно посмотреть в графе Status в разделе Network. Для этого нужно сделать следующее:
- откройте в веб-браузере нужную вам страницу;
- нажмите клавишу F12 для того, чтобы открыть дополнительное окно с консолью.
Другой способ посмотреть код ответа — это специализированные сервисы, такие как bertal, 2ip, cy-pr, wwhois, 4seo.
Принцип их работы рассмотрим на примере mainspy:
- Зайдите на сайт сервиса.
- Введите URL для проверки. Можно один или несколько.
- Запустите проверку.
В течение нескольких секунд на экране отобразится отчет, в котором напротив каждого URL будет стоять код ответа сервера.
Аналитика кодов ответа доступна не только роботам. Человек также может интерпретировать полученные от сервера данные и быстро определить, где ошибка и каким образом ее можно устранить.
Часто задаваемые вопросы о кодах ошибок HTTP
Что сообщают коды ошибок?
Коды ошибок HTTP — это трехзначный код, отправляемый сервером в ответ на запрос клиента. Его используют поисковые роботы, а поясняющие слова после кода ориентированы на пользователей сети.
Что нужно делать с кодами ошибок HTTP?
Нужно обязательно обновить веб-браузер в случае внесения изменений на сервере.
Проверьте системную информацию на сервере для того, чтобы понять, как происходит обработка запросов клиента. Веб-серверы Apache или Nginx создают файлы + access.log + и + error.log +. Их можно сканировать и получить необходимые сведения.
О чем говорит ошибка 404?
Страница, которую запрашивает пользователь, не найдена. Запрос принят, но по URL нет необходимого ресурса. Он может быть перемещен или удален.
Таким образом, HTTP-статус кратко сообщает суть ответа сервера. Это может быть успешное выполнение запроса пользователя или уведомление о наличии определенных трудностей. Знание основных кодов ошибок HTTP со стороны сервера или со стороны клиента, а также способов устранения проблем поможет пользователям оперативно решить возникающие трудности в работе с веб-серверами или приложениями.
