Эндрю Уэзеролл - Компьютерные сети. 5-е издание
- Название:Компьютерные сети. 5-е издание
- Автор:
- Жанр:
- Издательство:Питер
- Год:2011
- ISBN:9785446100682
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Уэзеролл - Компьютерные сети. 5-е издание краткое содержание
Компьютерные сети. 5-е издание - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Content-Length
Ответ
Размер страницы в байтах
Content-Type
Ответ
Тип MIME страницы
Content-Range
Ответ
Идентифицирует часть контента страницы
Last-Modified
Ответ
Время и дата внесения последних изменений в страницу
Expires
Ответ
Время и дата, когда страница перестанет считаться действительной
Location
Ответ
Команда клиенту на пересылку его запроса по другому адресу
Accept-Ranges
Ответ
Сервер готов принимать запросы на страницы указанного размера
Date
Запрос/
Ответ
Дата и время отправки сообщения
Range
Запрос/
Ответ
Идентифицирует часть страницы
Cache-Control
Запрос/
Ответ
Указание на то, как обрабатывать кэш
ETag
Запрос/
Ответ
Тег для контента страницы
Upgrade
Запрос/
Ответ
Протокол, на который хочет переключиться отправитель
Заголовок User-Agent позволяет клиенту информировать сервер о версии своего браузера (например, Mozilla/5.0 и Chrome/5.0.375.125 ). Эта информация позволяет серверу приспосабливать свои ответы к конкретному браузеру, так как поведение и способности разных браузеров серьезно отличаются.
Четыре заголовка, начинающиеся с Accept, сообщают серверу о типах информации, которые клиент готов принять (если их набор ограничен). Первый приведенный в таблице заголовок определяет типы MIME, которые будут корректно приняты клиентом (например, text/html ). Заголовок Accept-Charset сообщает о том, какой набор символов клиент хотел бы видеть (например, ISO-8859 или Unicode-1-1). В заголовке Accept-Encoding речь идет о приемлемых методах сжатия (например, gzip). Наконец, Accept-Language сообщает, на каком языке клиент готов читать документы (например, на испанском). Если сервер имеет возможность выбирать из нескольких страниц, он подберет наиболее подходящий для клиента вариант в соответствии с полученной информацией. Если запрос удовлетворить невозможно, возвращается код ошибки, и запрос считается неудавшимся.
Заголовки If-Modified-Since и If-None-Match используются кэшем. Они позволяют клиенту запрашивать отсылку страницы только в том случае, если в кэше нет доступной копии. Позднее мы еще поговорим о кэшировании.
Заголовок Host описывает сервер. Его значение берется из URL. Этот заголовок обязателен. Почему? Потому что некоторые IP-адреса могут обслуживать несколько имен DNS одновременно, и серверу необходимо каким-то образом различать, кому передавать запрос.
Заголовок Authorization требуется в тех случаях, когда запрашивается защищенная страница. С его помощью клиент может подтвердить свои права на просмотр запрашиваемой страницы.
Клиент использует неверно написанный заголовок Referer, чтобы выдать URL, связанный с запрашиваемым. Чаще всего это URL предыдущей страницы.
Этот заголовок крайне полезен при отслеживании переходов от страницы к странице, так как он позволяет серверу узнать, каким образом клиент прибыл на определенную страницу.
Несмотря на то что cookie описываются в RFC 2109, а не в RFC 2616, для их описания также существуют заголовки. Заголовок Set-cookie определяет то, как серверы отсылают файлы cookie клиентам. Если этот заголовок установлен сервером, предполагается, что, увидев его, клиент сохранит у себя cookie и вернет его вместе со следующим запросом на сервер при помощи заголовка Cookie . (Обратите внимание на то, что существует и более поздняя спецификация для файлов cookie с обновленными заголовками, RFC 2965, но она не особо широко распространена.)
В ответах используются и многие другие заголовки. Заголовок Server позволяет серверу описать версию своего программного обеспечения. Следующие пять заголовков, начинающиеся со слова Content-, позволяют серверу описать свойства страницы, которую он отсылает.
Заголовок Last-modified содержит дату и время внесения последних изменений в отправляемую страницу, а заголовок Expires говорит о том, сколько времени страница будет доступна. Они оба играют важную роль при кэшировании страницы.
Заголовок Location вставляется сервером для информирования клиента о том, что стоит попробовать осуществить свой запрос повторно по другому URL. Такая ситуация может возникать при «переезде» страницы или тогда, когда несколько URL ссылаются на одну и ту же страницу (возможно, на зеркало страницы, расположенное на другом сервере). Этот трюк также нередко применяется теми компаниями, главная веб-страница которых прописана в домене com, однако клиенты перенаправляются с нее на национальные или региональные страницы, основываясь на IP-адресе клиента или выбранном клиентом языке.
Если страница очень велика по размеру, клиент может не захотеть принимать ее сразу целиком. Некоторые серверы могут принимать запросы, ограничивающие размеры страниц, отсылаемых за один раз. Если страница оказывается слишком большой, она будет разбита на более мелкие единицы и выслана в несколько приемов. Заголовок Accept-Ranges сообщает о том, что сервер готов поддерживать такие запросы частей страниц.
Теперь перейдем к заголовкам, которые могут быть использованы в обоих направлениях. Заголовок Date может применяться как в запросах, так и в ответах. Он содержит время и дату отправки сообщения, а заголовок Range сообщает размер страницы в байтах и высылает его в качестве ответа.
Заголовок ETag выдает короткий тег, который служит в качестве имени контента страницы. Заголовок Cache-Control выдает другие четкие инструкции о том, как кэшировать (или, чаще, как не кэшировать) страницы.
Заголовок Upgrade используется для перехода на новый протокол коммуникации, такой как следующий протокол HTTP, или на защищенный способ передачи данных. Он позволяет клиенту сообщить, какие варианты он может поддерживать, а серверу заявить, каким вариантом пользуется он.
Кэширование
Мы часто возвращаемся на страницы, которые уже просматривали ранее, а на связанных веб-страницах часто размещаются одни и те же ресурсы. В качестве примера можно привести изображения, которые используются для навигации по сайту, а также стандартные таблицы стилей и скрипты. Было бы крайне неэкономично получать все эти ресурсы страниц каждый раз, когда они отображаются, так как у браузера уже есть их копии.
Читать дальшеИнтервал:
Закладка: