Каждый раз при обращении браузера к веб-странице, веб-сервер, в соответствии с протоколом HTTP (HyperText Transfer Protocol — «протокол передачи гипертекста»), кроме тела сообщения (например, текст веб-страницы в формате html) отправляет служебную информацию, которая не видна пользователю. К служебной информации относят стартовую строку (Starting line) и заголовки (Headers).
Стартовая строка ответа сервера содержит информацию о результате обращения к серверу и состоит из версии протокола, кода состояния и пояснения. Например, стартовая строка вида «HTTP/1.1 200 OK» означает, что данные, запрошенные клиентом, находятся в теле сообщения, а строка «HTTP/1.1 404 Not Found» означает, что запрашиваемая страница отсутствует по данному адресу. Всего выделены пять классов различных кодов состояния: 1XX — информационные; 2XX — коды, свидетельствующие об успешном завершении запроса; 3XX — коды перенаправления; 4XX — коды ошибок на стороны клиента; 5XX — коды ошибок на стороне сервера (полный список кодов ответа сервера).
Заголовки характеризуют тело сообщения, параметры передачи и прочие сведения. Выделяют следующие типы заголовков: Основные (General Headers) — включаются в любое сообщение клиента и сервера; заголовки запроса (Request Headers) — используются в запросах клиента; заголовки ответа (Response Headers) — только для ответов от сервера; заголовки сущности (Entity Headers) — характеризуют содержимое каждой части сообщения в отдельности. Заголовки HTTP обычно содержат информацию о программном обеспечении сервера, типе передаваемого сообщения, кодировку данных в сообщении и т.д.