Поговорим про поля заголовоков:
Load data GET /default.html HTTP/1.1 Accept: */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Host: 194.186.181.2
Когда клиент обращается к серверу он посылает поле Accept, где указывается список типов MIME, с которыми он может работать. Обычно пишется */*, что говорит о том, что клиент способен обрабатывать любые типы данных. В нашем примере есть еще два поля, которые поддерживаются относительно недавно это Accept-Language для указания языка и Accept-Encoding для сжатия.
Информация о клиенте в плане того, что кем он является. А он может быть не только браузером естественно, но например и роботом. Вообщем-то это поле полезно для подготовки документов с учетом специфики данного браузера.
В нашем случае используется мало полей, но их значительно больше.
Это поле используется для того, чтобы послать пороль и имя для авторизации на сервере. Это происходит примерно так. Браузер пытается получить доступ. В ответ сервер посылает ему код 401. Мол пошел ты..... Клиент в этом поле посылает имя и пароль. В простом тескстовом формате в заголовоке HTTP в поле Authorization.
Используется с методом GET для наложения условия на запрос. Например, на время изменения.
Обычно здесь пишут адрес откуда пришли на данный URL.
В этом поле передают адрес электронной почты в случае необходимости.
Правила работы, все поля заголовоков, и многое другое касаемое данного вопроса описано в RFC 2068.