HTTP. Часть 5. Что возвращается обратно: коды ответа сервера

При выполнении таких HTTP-методов, как GET или POST, их результат возвращается в первой строке ответа сервера, включающем трехзначный код состояния.

Вот пример ответа сервера:

НТТР/1.1 200 0К

Первая часть ответа — НТТР/1.1 — показывает тип протокола, а 200 ОК — это код ответа сервера.

Существуют пять основных типов кодов ответа, разбитых на группы в соответствии с их номерами:

  • 100 — 199: общая информация. Эти коды состояния являются только частью HTTP 1.1 и используются редко.
  • 200 — 299: корректный запрос клиента.
    Наиболее часто применяемый код в этом диапазоне:

    • 200-ОК — запрос клиента принят, и ответ сервера будет содержать запрошенные данные.
  • 300 — 399: запрос был перенаправлен по другому адресу. От браузера ожидаются дополнительные действия (то есть браузер должен прозрачно запросить содержимое с нового адреса).
    Чаще всего применяются следующие коды из этого диапазона:

    • 301: перемещен перманентно. Это говорит о том, что содержимое было перенесено в новое постоянное место. В ответе сервера клиенту заголовок LOCATION будет содержать новый URL, по которому может быть найдена запрошенная информация.
    • 307: перемещен временно. Это говорит о том, что содержимое было перенесено в новое временное место. В ответе сервера клиенту заголовок LOCATION будет содержать новый URL, по которому может быть найдена запрошенная информация.
  • 400 — 409: ошибка клиентского запроса. Говорит о том, что по какой-то причине сервер не в состоянии обработать запрос клиента. Причины могут варьироваться от недостатка аутентификации до слишком длинного URL.
    Наиболее часто используются следующие коды из этого диапазона:

    • 401: неавторизованный. Это говорит о том, что клиенту не хватает корректной авторизации для получения документа. Когда код состояния 401 отправляется браузеру, последний должен каким-то образом запросить у клиента удостоверение.
    • 404: не найден. Говорит о том, что запрошенная информация не найдена по указанному URL.
  • 500 — 509: ошибка на стороне сервера. Означает, что на стороне сервера произошла ошибка.
    Наиболее часто используемые коды состояния из этого диапазона:

    • 500: внутренняя ошибка сервера. Означает, что программа на сервере (например, CGI-сценарий) потерпела крах.
    • 503: Служба недоступна. Говорит о том, что запрошенная служба временно недоступна и будет восстановлена в ближайшем будущем.

Так же рекомендую ознакомиться с HTTP клиентскими методами HTTP, для полноты картины.