Что такое информационные HTTP-коды 1xx?

«Что такое информационные HTTP-коды 1xx?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Коды состояния 1xx (Informational) — это промежуточные ответы сервера, которые информируют клиента о статусе обработки запроса, но не завершают его.

Назначение: Улучшить эффективность связи, позволяя клиенту узнать, стоит ли отправлять тело запроса или готов ли сервер к смене протокола.

Основные коды:

  • 100 Continue: Сервер готов принять тело запроса. Отправляется в ответ на заголовок Expect: 100-continue. Клиент должен отправить тело после получения этого кода.
  • 101 Switching Protocols: Сервер соглашается на смену протокола, запрошенную клиентом (например, переход с HTTP/1.1 на WebSocket).

Пример потока запроса с кодом 100:

Клиент отправляет: 
POST /upload HTTP/1.1
Host: example.com
Expect: 100-continue
Content-Length: 1024

(пауза, тело не отправляется)

Сервер отвечает:
HTTP/1.1 100 Continue

Клиент, получив 100, отправляет тело запроса.

Почему это важно для тестирования: Нужно убедиться, что клиентское приложение корректно обрабатывает эти промежуточные ответы и продолжает отправку данных.