Similar presentations:
HTTP cookie. Краткий обзор
1. HTTP cookie
Краткий обзор2. HTTP cookie: ключики, куки, печенюшки
Задача: необходимость различения веб-серверами пользователей ихранение данных о них. Например, в Интернет магазине необходимо
сопоставлять пользователя с его корзиной заказов.
Проблема: отсутствие в HTTP сессий
Идея: номерки в гардеробе (magic cookie)
Автор: Лу Монтулли из Netscape Communications, 1994 год.
© НГУЭУ 2013
Основы Web: HTTP cookie
2
3. Идея ключиков в HTTP протоколе
Идея ключиков – отправлять Web сервером небольшой фрагментданных для сохранения на компьютере пользователя, который
автоматически возвращается браузером при повторном обращении
клиента к данному серверу получен и прочитан
Некоторые из типичных применений ключиков:
аутентификация пользователей
хранение персональных предпочтений и настроек
отслеживание состояния сеанса доступа пользователя
ведение статистики о пользователе
© НГУЭУ 2013
Основы Web: HTTP cookie
3
4. Назначение и особенности
Спецификации: RFC2109 И RFC 2965 (IETF)Минимальные объемы: 300 порций по 4096 байт
20 ключиков для одного сервера или домена
Есть ограничения по браузерам !
Сроки устаревания ключиков: ключики сеанса и постоянные
ключики (с определенной датой)
Кто добавляет ключики?
© НГУЭУ 2013
Основы Web: HTTP cookie
4
5. Схема работы ключиков
Запрос браузера веб-серверу: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
5
6. Заголовок ответа 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
6
7. Заголовок запроса Cookie
Сообщение о наличии на клиенте ключиков, определенных дляданной страницы осуществляется через заголовок запроса Cookie:
Cookie: <имя>=<значение>[; <имя>=<значение>]
имена в парах могут повторяться
в начале размещаются наиболее точно специфицированные
ключики
значение: строка без использования пробела, точки с запятой, …
expires=<дата> - дата истечения срока действия
например, Wednesday, 01-Dec-2013 00:00:00 GMT
domain=<домен> - диапазон доменов
secure: флаг, требующий возвращения ключика только при условии
защищенного соединения
© НГУЭУ 2013
Основы Web: HTTP cookie
7
8. Установка ключиков через HTML
Вспомним мета-тег заголовка. Он пригоден и для установкиключиков:
<META http-equiv="Set-Cookie" content="NAME=value; EXPIRES=date;
DOMAIN=domain_name; PATH=path; SECURE" />
© НГУЭУ 2013
Основы Web: HTTP cookie
8