HTTP cookie. Краткий обзор

Слайд 2

HTTP cookie: ключики, куки, печенюшки Задача: необходимость различения веб-серверами пользователей и

HTTP cookie: ключики, куки, печенюшки

Задача: необходимость различения веб-серверами пользователей и

хранение данных о них. Например, в Интернет магазине необходимо сопоставлять пользователя с его корзиной заказов.
Проблема: отсутствие в HTTP сессий
Идея: номерки в гардеробе (magic cookie)
Автор: Лу Монтулли из Netscape Communications, 1994 год.

© НГУЭУ 2013

Основы Web: HTTP cookie

Слайд 3

Идея ключиков в HTTP протоколе Идея ключиков – отправлять Web сервером

Идея ключиков в HTTP протоколе

Идея ключиков – отправлять Web сервером небольшой

фрагмент данных для сохранения на компьютере пользователя, который автоматически возвращается браузером при повторном обращении клиента к данному серверу получен и прочитан
Некоторые из типичных применений ключиков:
аутентификация пользователей
хранение персональных предпочтений и настроек
отслеживание состояния сеанса доступа пользователя
ведение статистики о пользователе

© НГУЭУ 2013

Основы Web: HTTP cookie

Слайд 4

Назначение и особенности Спецификации: RFC2109 И RFC 2965 (IETF) Минимальные объемы:

Назначение и особенности

Спецификации: RFC2109 И RFC 2965 (IETF)
Минимальные объемы: 300 порций

по 4096 байт 20 ключиков для одного сервера или домена
Есть ограничения по браузерам !
Сроки устаревания ключиков: ключики сеанса и постоянные ключики (с определенной датой)
Кто добавляет ключики?

© НГУЭУ 2013

Основы Web: HTTP cookie

Слайд 5

Схема работы ключиков Запрос браузера веб-серверу: GET /index.html HTTP/1.1 Host: www.web-server.ru

Схема работы ключиков

Запрос браузера веб-серверу: GET /index.html HTTP/1.1 Host: www.web-server.ru
Ответ веб-сервера с установкой

ключика HTTP/1.1 200 OK Content-type: text/html Set-Cookie: name=value …
Запрос с возвратом ключика при повторном обращении к серверу GET /spec.html HTTP/1.1 Host: www.web-server.ru Cookie: name=value …

© НГУЭУ 2013

Основы Web: HTTP cookie

Слайд 6

Заголовок ответа Set-Cookie Установка сервером ключиков через заголовок Set-Cookie: Set-Cookie: =

Заголовок ответа Set-Cookie

Установка сервером ключиков через заголовок Set-Cookie: Set-Cookie: <имя>=<значение>; expires=<дата>;

path=<путь>; domain=<домен>; secure
имя: строка без использования пробела, точки с запятой, …
значение: строка без использования пробела, точки с запятой, …
expires=<дата> - дата истечения срока действия например, Wednesday, 01-Dec-2013 00:00:00 GMT
domain=<домен> - диапазон доменов
path=<путь> - устанавливает подмножество документов, на которые распространяется действие ключика
secure: флаг, требующий возвращения ключика только при условии защищенного соединения

© НГУЭУ 2013

Основы Web: HTTP cookie

Слайд 7

Заголовок запроса Cookie Сообщение о наличии на клиенте ключиков, определенных для

Заголовок запроса Cookie

Сообщение о наличии на клиенте ключиков, определенных для

данной страницы осуществляется через заголовок запроса Cookie: Cookie: <имя>=<значение>[; <имя>=<значение>]
имена в парах могут повторяться
в начале размещаются наиболее точно специфицированные ключики
значение: строка без использования пробела, точки с запятой, …
expires=<дата> - дата истечения срока действия например, Wednesday, 01-Dec-2013 00:00:00 GMT
domain=<домен> - диапазон доменов
secure: флаг, требующий возвращения ключика только при условии защищенного соединения

© НГУЭУ 2013

Основы Web: HTTP cookie