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

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




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

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

 

Проверяются заголовки при помощи консольной утилиты 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, в этом случае отдаваться будут только заголовки без содержимого страницы, что и требуется. Запросим домен server-gu.ru

curl -I server-gu.ru

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://server-gu.ru/

 

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

curl -I https://server-gu.ru

 

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

 

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

 

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