HTTP коды ответа сервера


Коды ответа HTTP сервера — информация, возвращаемая клиенту, выполнившему HTTP запрос к  серверу, доступному в сети. Запрос выполняется к определенному серверу и определенному порту. Если рассматривать веб-сервер, обращение идет по IP адресу на порт 80 или 443 (в зависимости от протокола: http или https).



Коды ответа сервера на HTTP запросы


Запросы бывают различных типов, запросы на получение данных — это обычно GET. HEAD запросы предназначены для того чтобы получить только заголовки.


Коды ответа http сервера


Проверяются заголовки при помощи консольной утилиты curl или путем отправки запросов предварительно подключившись к серверу с использованием telnet (в конце статьи содержится ссылка на сервис, позволяющий проверять заголовки в браузере)



Проверка ответа сервера  — telnet

telnet 123.123.123.123 80

Trying ::1…
Connected to localhost.
Escape character is '^]'.

GET / HTTP/1.1

Host: example.com

Теперь дважды нужно нажать Enter на клавиатуре



В консоль будет выведен HTTP ответ — в нем интерес представляет первая строка, а которой и содержится нужная информация

HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Thu, 01 Mar 2018 16:26:59 GMT
Content-Type: text/html
Content-Length: 612


Код ответа 200 говорит о том, что ответ нормальный и сервер успешно отдал запрашиваемый клиентом контент.



Проверка ответа сервера — curl

curl лучше всего использовать с ключем -I, в этом случае отдаваться будут только заголовки без содержимого страницы, что и требуется. Запросим домен example.com


curl -I example.com

HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3
Date: Thu, 01 Mar 2018 16:46:19 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://example.com/



Если выполнить запрос к сайту с https ответ будет 200.

curl -I https://example.com



Коды ответа сервера, которые можно встретить чаще всего:


  • 200 — запрос успешно обработан
  • 301 — постоянный редирект на другой домен
  • 302 — некэширующийся редирект (подробнее о различиях)
  • 404 — страница не найдена
  • 403 — доступ запрещен
  • 500 — ошибка сервера, вызванная неверной настройкой (подробнее)
  • 502 — ошибка сервера, вызванная отсутствием ответа от бэкенда (подробнее)


Все коды, начинающиеся на 2хх означают, что запрос успешно обработан, на 3хх, что выполняется переадресация,  на 4хх — произошла ошибка на стороне клиента, на 5хх — произошла ошибка на стороне сервера.



Проверить код ответа HTTP сервера также можно воспользовавшись специализированным инструментом. Он проверяет кэширование данных, но в выводе присутствует также код ответа.

Сказать спасибо