SlideShare a Scribd company logo
Cookies, session в JSP
Cookie
Cookie - это небольшие части
данных, посылаемых веб-
сервером браузеру клиента.
Cookie сохраняются на жёстком
диске клиента в виде
небольшого текстового файла.
Cookie
В JSP куки являются объектом
класса javax.servlet.http.Cookie.
Этот класс используется для
создания куки, небольшого
количества информации,
посылаемого сервлетом браузеру,
который хранит эту информацию и
после отправляет обратно серверу.
Cookie
Значение cookies
идентифицирует клиент,
поэтому cookie обычно
используют для управления
сессией.
Cookie
Cookies имеют:
название,
значение,
дополнительные атрибуты:
 комментарии
 квалификатор домена,
 максимальный “возраст”,
 номер версии.
Методы класса Cookie
getComment() — Возвращает
комментарий, описывающий
назначение этого куки, или пустое
значение, если искомый комментарий
не был обнаружен.
getMaxAge() — Возвращает
максимальное значение “возраста”,
указанное для этого cookie.
Cookie
getName() — Возвращает название
cookie.
getPath() — Возвращает префикс
всех URL, для которых предназначен
этот cookie.
getValue() — Возвращает значение
cookie.
Cookie
setComment(String) — Если браузер
представит этот куки пользователю,
назначение куки будет понятно по
данному коментарию.
setMaxAge(int) — Выставляет
максимальное значение “возраста”
куки. При истечении указанного
количества секунд, cookie будет
удалён при закрытии браузера.
Cookie
setPath(String) — Этот куки будет
присутствовать только в запросах,
начинающихся с указанного URL.
setValue(String) — Устанавливает
значение куки. Следует избегать
значений с различными
специальными символами.
Session
Веб-сервер не поддерживает
постоянного соединения с
клиентом, и каждый запрос
обрабатывается, как новый, без
всякой связи с предыдущими.
Session
Нельзя ни отследить запросы от
одного и того же посетителя, ни
сохранить для него переменные
между просмотрами отдельных
страниц.
Session
Сессия - это механизм, позволяющий
однозначно идентифицировать
браузер и создающий для этого
браузера файл на сервере, в котором
хранятся переменные сеанса.

More Related Content

What's hot

Industrial Programming Java - Lection Pack 01 - Building an application - Lav...
Industrial Programming Java - Lection Pack 01 - Building an application - Lav...Industrial Programming Java - Lection Pack 01 - Building an application - Lav...
Industrial Programming Java - Lection Pack 01 - Building an application - Lav...
Fedor Lavrentyev
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
Unguryan Vitaliy
 
RAD на Java: как устроена CUBA Platform?
RAD на Java: как устроена  CUBA Platform?RAD на Java: как устроена  CUBA Platform?
RAD на Java: как устроена CUBA Platform?
Aleksey Stukalov
 
Java осень 2014 занятие 8
Java осень 2014 занятие 8Java осень 2014 занятие 8
Java осень 2014 занятие 8
Technopark
 
C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.
Igor Shkulipa
 
Java осень 2014 занятие 7
Java осень 2014 занятие 7Java осень 2014 занятие 7
Java осень 2014 занятие 7
Technopark
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.
Igor Shkulipa
 
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
Asya Dudnik
 
Konstantin slisenko - Spring Framework
Konstantin slisenko - Spring FrameworkKonstantin slisenko - Spring Framework
Konstantin slisenko - Spring Frameworkbeloslab
 
Разработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkРазработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring Framework
CUSTIS
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
Igor Shkulipa
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлетыalexey1991
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
Dima Dzuba
 
Клиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталяхКлиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталяхKirill Zotin
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
Igor Shkulipa
 
Java осень 2014 занятие 6
Java осень 2014 занятие 6Java осень 2014 занятие 6
Java осень 2014 занятие 6
Technopark
 
Ice Php Framework Preview Release
Ice Php Framework Preview ReleaseIce Php Framework Preview Release
Ice Php Framework Preview Release
Denis Shestakov
 
Java осень 2014 занятие 1
Java осень 2014 занятие 1Java осень 2014 занятие 1
Java осень 2014 занятие 1
Technopark
 
Лекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, LoaderЛекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, Loader
Александр Брич
 

What's hot (20)

Industrial Programming Java - Lection Pack 01 - Building an application - Lav...
Industrial Programming Java - Lection Pack 01 - Building an application - Lav...Industrial Programming Java - Lection Pack 01 - Building an application - Lav...
Industrial Programming Java - Lection Pack 01 - Building an application - Lav...
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 
RAD на Java: как устроена CUBA Platform?
RAD на Java: как устроена  CUBA Platform?RAD на Java: как устроена  CUBA Platform?
RAD на Java: как устроена CUBA Platform?
 
Java осень 2014 занятие 8
Java осень 2014 занятие 8Java осень 2014 занятие 8
Java осень 2014 занятие 8
 
C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.
 
Java осень 2014 занятие 7
Java осень 2014 занятие 7Java осень 2014 занятие 7
Java осень 2014 занятие 7
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.
 
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
 
Konstantin slisenko - Spring Framework
Konstantin slisenko - Spring FrameworkKonstantin slisenko - Spring Framework
Konstantin slisenko - Spring Framework
 
Разработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring FrameworkРазработка Enterprise-приложения на основе Spring Framework
Разработка Enterprise-приложения на основе Spring Framework
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлеты
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
 
Клиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталяхКлиент-серверное взаимодействие под android в деталях
Клиент-серверное взаимодействие под android в деталях
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
 
Java осень 2014 занятие 6
Java осень 2014 занятие 6Java осень 2014 занятие 6
Java осень 2014 занятие 6
 
Ice Php Framework Preview Release
Ice Php Framework Preview ReleaseIce Php Framework Preview Release
Ice Php Framework Preview Release
 
Java осень 2014 занятие 1
Java осень 2014 занятие 1Java осень 2014 занятие 1
Java осень 2014 занятие 1
 
Лекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, LoaderЛекция Android. БД SQLite, ContentProvider, Loader
Лекция Android. БД SQLite, ContentProvider, Loader
 

Similar to Cookies, session и другое в JSP

Что нового в ASP.NET 4
Что нового в ASP.NET 4Что нового в ASP.NET 4
Что нового в ASP.NET 4
akrakovetsky
 
Повышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайтаПовышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайтаВладимир Колос
 
Eternal static (RIT 2011)
Eternal static (RIT 2011)Eternal static (RIT 2011)
Eternal static (RIT 2011)
Sergey Skvortsov
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
Vitaly Baum
 
Ibm mq против apache active mq производительность обновления сравнения
Ibm mq против apache active mq производительность обновления сравненияIbm mq против apache active mq производительность обновления сравнения
Ibm mq против apache active mq производительность обновления сравнения
Sergei Seleznev
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Yevhen Kotelnytskyi
 
Drupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaDrupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaAlex Ilyin
 
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheУскоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Igor Sazonov
 
Magento performance
Magento performanceMagento performance
Magento performance
aheadWorks
 
Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..webhostingguy
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Smirnov Memcached Highload 2008
Smirnov Memcached Highload 2008Smirnov Memcached Highload 2008
Smirnov Memcached Highload 2008Ontico
 
Smirnov Memcached High Load 2008
Smirnov Memcached High Load 2008Smirnov Memcached High Load 2008
Smirnov Memcached High Load 2008Ontico
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11
olgaoov
 
Кэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровняхКэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровнях
ForkConf
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
GetDev.NET
 
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Alexey Kostin
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
Igor Shkulipa
 

Similar to Cookies, session и другое в JSP (20)

Что нового в ASP.NET 4
Что нового в ASP.NET 4Что нового в ASP.NET 4
Что нового в ASP.NET 4
 
Повышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайтаПовышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайта
 
Eternal static (RIT 2011)
Eternal static (RIT 2011)Eternal static (RIT 2011)
Eternal static (RIT 2011)
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 
Ibm mq против apache active mq производительность обновления сравнения
Ibm mq против apache active mq производительность обновления сравненияIbm mq против apache active mq производительность обновления сравнения
Ibm mq против apache active mq производительность обновления сравнения
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
 
Drupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaDrupal Highload - Klera Vilenskaya
Drupal Highload - Klera Vilenskaya
 
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish CacheУскоряем Wordpress: кеширование, CDN, Varnish Cache
Ускоряем Wordpress: кеширование, CDN, Varnish Cache
 
Magento performance
Magento performanceMagento performance
Magento performance
 
Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Speed Up Your Website
Speed Up Your WebsiteSpeed Up Your Website
Speed Up Your Website
 
Smirnov Memcached Highload 2008
Smirnov Memcached Highload 2008Smirnov Memcached Highload 2008
Smirnov Memcached Highload 2008
 
Smirnov Memcached High Load 2008
Smirnov Memcached High Load 2008Smirnov Memcached High Load 2008
Smirnov Memcached High Load 2008
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11
 
Кэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровняхКэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровнях
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
 
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 

More from Unguryan Vitaliy

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
Unguryan Vitaliy
 
Stream API
Stream APIStream API
Stream API
Unguryan Vitaliy
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
Unguryan Vitaliy
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
Unguryan Vitaliy
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
Unguryan Vitaliy
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
Unguryan Vitaliy
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
Unguryan Vitaliy
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
Unguryan Vitaliy
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
Unguryan Vitaliy
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в java
Unguryan Vitaliy
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
Unguryan Vitaliy
 
XML
XMLXML
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
Unguryan Vitaliy
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
Unguryan Vitaliy
 
java 8
java 8java 8
Java. Многопоточность.
Java. Многопоточность.Java. Многопоточность.
Java. Многопоточность.
Unguryan Vitaliy
 
Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.
Unguryan Vitaliy
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
Unguryan Vitaliy
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
Unguryan Vitaliy
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
Unguryan Vitaliy
 

More from Unguryan Vitaliy (20)

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
 
Stream API
Stream APIStream API
Stream API
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в java
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
XML
XMLXML
XML
 
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
 
java 8
java 8java 8
java 8
 
Java. Многопоточность.
Java. Многопоточность.Java. Многопоточность.
Java. Многопоточность.
 
Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
 

Cookies, session и другое в JSP

  • 2. Cookie Cookie - это небольшие части данных, посылаемых веб- сервером браузеру клиента. Cookie сохраняются на жёстком диске клиента в виде небольшого текстового файла.
  • 3. Cookie В JSP куки являются объектом класса javax.servlet.http.Cookie. Этот класс используется для создания куки, небольшого количества информации, посылаемого сервлетом браузеру, который хранит эту информацию и после отправляет обратно серверу.
  • 4. Cookie Значение cookies идентифицирует клиент, поэтому cookie обычно используют для управления сессией.
  • 5. Cookie Cookies имеют: название, значение, дополнительные атрибуты:  комментарии  квалификатор домена,  максимальный “возраст”,  номер версии.
  • 6. Методы класса Cookie getComment() — Возвращает комментарий, описывающий назначение этого куки, или пустое значение, если искомый комментарий не был обнаружен. getMaxAge() — Возвращает максимальное значение “возраста”, указанное для этого cookie.
  • 7. Cookie getName() — Возвращает название cookie. getPath() — Возвращает префикс всех URL, для которых предназначен этот cookie. getValue() — Возвращает значение cookie.
  • 8. Cookie setComment(String) — Если браузер представит этот куки пользователю, назначение куки будет понятно по данному коментарию. setMaxAge(int) — Выставляет максимальное значение “возраста” куки. При истечении указанного количества секунд, cookie будет удалён при закрытии браузера.
  • 9. Cookie setPath(String) — Этот куки будет присутствовать только в запросах, начинающихся с указанного URL. setValue(String) — Устанавливает значение куки. Следует избегать значений с различными специальными символами.
  • 10. Session Веб-сервер не поддерживает постоянного соединения с клиентом, и каждый запрос обрабатывается, как новый, без всякой связи с предыдущими.
  • 11. Session Нельзя ни отследить запросы от одного и того же посетителя, ни сохранить для него переменные между просмотрами отдельных страниц.
  • 12. Session Сессия - это механизм, позволяющий однозначно идентифицировать браузер и создающий для этого браузера файл на сервере, в котором хранятся переменные сеанса.