• Одна из проблем создания веб-приложений заключается в том, что Интернет — это среда без сохранения состояния. Когда веб-серверы отвечают на запрос страниц, каждый запрос обрабатывается как новый запрос. И веб-сервер не знает, не отслеживает и не заботится о том, какие предыдущие запросы были сделаны. Он не знает, что пользователь выбрал или на что нажал ранее. Он не знает, вошел ли пользователь в систему или нет.
  • Файлы cookie помогают нам решить проблему сети без сохранения состояния. Веб-сервер может разместить файл cookie в браузере пользователя и сохранить в нем данные. С каждым запросом к этому веб-серверу браузер будет отправлять этот файл cookie с запросом. Файл cookie может отслеживать, на что в последний раз нажимал пользователь. Или это может включать местоположение пользователя, его языковые предпочтения или настройки поиска. И это позволяет нам как разработчикам поддерживать состояние взаимодействия пользователя с нашим сайтом. Следовательно, файл cookie – это небольшой фрагмент данных, который сервер отправляет в веб-браузер пользователя. Браузер может сохранить его и отправить обратно со следующим запросом на тот же сервер. Как правило, он используется, чтобы узнать, поступили ли два запроса из одного и того же браузера — например, чтобы пользователь оставался в системе. Он запоминает информацию о состоянии для протокола HTTP без сохранения состояния.
  • Чтобы узнать о различных способах использования файлов cookie, посмотрите это видео.
  • Файлы cookie имеют ограничения: максимальный размер файла cookie ограничен 4 КБ (около 4000 символов), и он находится на компьютере пользователя, что означает, что он может быть удален пользователем. Пользователь может открыть его и прочитать, или, если он действительно сообразителен, он может даже изменить значение. Но файлы cookie отлично подходят для отслеживания небольших фрагментов данных в течение длительных периодов времени.
  • Время, в течение которого вы находитесь на сайте, называется сеансом сеансом.
  • Сеансы являются дополнением к файлам cookie, поскольку сеансы были разработаны как способ преодоления двух ограничений файлов cookie. Чтобы можно было хранить больше данных и хранить их на сервере, чтобы их содержимое нельзя было прочитать или изменить. Сервер устанавливает файл cookie в браузере пользователя, но вместо сохранения данных в файле cookie он сохраняет идентификатор, который ссылается на файл сеанса, хранящийся где-то еще. Это где-то еще может быть файл на сервере или запись в таблице базы данных. Следовательно, сеанс может быть определен (с точки зрения механизма) как хранилище информации на стороне сервера, которое желательно сохранять на протяжении всего взаимодействия пользователя с Веб-сайт. Вместо хранения большой и постоянно меняющейся информации с помощью файлов cookie в браузере пользователя на стороне клиента сохраняется только уникальный идентификатор. Этот идентификатор сеанса передается веб-серверу каждый раз, когда браузер делает запрос. Сервер сопоставляет этот идентификатор сеанса со своей внутренней базой данных и извлекает сохраненные переменные для использования запрошенной страницей, поэтому файлы cookie используются сервером для реализации сеансов. Сеанс можно рассматривать какпул данных, связанных с активным соединением (один экземпляр браузера).
  • Файлы cookie сеанса удаляются при закрытии клиента, поэтому мы можем установить срок действия файла cookie. Если это опущено, файл cookie будет удален при закрытии браузера.
  • Теперь при каждом новом запросе к серверу браузер будет отправлять все ранее сохраненные файлы cookie на сервер, используя заголовок Cookie в запросе.