Различия между куки и сессиями?

jsp session servlets cookies

140001 просмотра

9 ответа

Я занимаюсь веб-разработкой и изучаю JSP & Servlets . У меня есть кое-какие знания HttpSession- я использовал их в некоторых моих типовых проектах.

В браузерах я видел опцию «удалить куки». Если я удаляю куки, он также удаляет HttpSession.

Являются ли куки и сессия одинаковыми? Каковы различия между ними?

Автор: blacktiger Источник Размещён: 17.05.2019 02:46

Ответы (9)


175 плюса

Решение

Сеансы - это файлы на стороне сервера, которые содержат информацию о пользователе, а файлы cookie - это файлы на стороне клиента, которые содержат информацию о пользователе. Сессии имеют уникальный идентификатор, который сопоставляет их с конкретными пользователями. Этот идентификатор может быть передан в URL или сохранен в файле cookie сеанса.

Большинство современных сайтов используют второй подход, сохраняя идентификатор в Cookie, а не передавая его в URL (что создает угрозу безопасности). Вероятно, вы используете этот подход, не зная его, и, удаляя файлы cookie, вы эффективно стираете их соответствующие сеансы, удаляя уникальный идентификатор сеанса, содержащийся в файлах cookie.

Автор: Eran Galperin Размещён: 11.12.2008 02:06

293 плюса

Файл cookie - это просто короткая текстовая строка, которая отправляется между клиентом и сервером. Вы можете сохранить name=bob; password=asdfasфайл cookie и отправить его туда и обратно, чтобы идентифицировать клиента на стороне сервера. Вы могли бы думать об этом как о продолжении обмена с кассиром банка, который не имеет краткосрочной памяти и нуждается в вашей идентификации для каждой транзакции. Конечно, использование cookie для хранения такой информации ужасно небезопасно. Размер файлов cookie также ограничен.

Теперь, когда кассир банка узнает о своей проблеме с памятью, он / она может записать вашу информацию на листе бумаги и назначить вам короткий идентификационный номер. Затем вместо того, чтобы указывать номер своей учетной записи и водительские права для каждой транзакции, вы можете просто сказать: «Я клиент 12»

Перевод этого на веб-серверы: сервер сохранит соответствующую информацию в объекте сеанса и создаст идентификатор сеанса, который он отправит обратно клиенту в файле cookie. Когда клиент отправляет обратно cookie, сервер может просто найти объект сеанса, используя идентификатор. Таким образом, если вы удалите куки, сеанс будет потерян.

Еще одна альтернатива для сервера - использовать перезапись URL для обмена идентификатором сеанса.

Предположим, у вас есть ссылка - www.myserver.com/myApp.jsp вы можете пройти по странице и переписать каждый URL как www.myserver.com/myApp.jsp?sessionID=asdfили даже www.myserver.com/asdf/myApp.jspи обменять идентификатор таким образом. Этот метод обрабатывается контейнером веб-приложения и обычно включается настройкой конфигурации на использование сеансов без файлов cookie.

Автор: Chris Cudmore Размещён: 11.12.2008 02:15

4 плюса

Файлы cookie и сеансы хранят информацию о пользователе (чтобы сделать HTTP-запрос с сохранением состояния), но разница в том, что файлы cookie хранят информацию на стороне клиента (в браузере), а сеансы хранят информацию на стороне сервера. Файл cookie ограничен в том смысле, что он хранит информацию об ограниченных пользователях и хранит только ограниченный контент для каждого пользователя. Сессия не ограничена таким образом.

Автор: sanjay singh Размещён: 05.09.2013 08:51

1 плюс

Cookie - это глобальный массив, доступ к которому осуществляется через веб-браузеры. Много раз используется для отправки / получения значений. он действует как механизм хранения для доступа к значениям между формами. Куки могут быть отключены браузером, который добавляет ограничение на их использование по сравнению с сессией.

Сессия может быть определена как что-то среднее между входом и выходом из системы. время между входом и выходом пользователя из системы составляет сеанс. Сеанс хранит значения только для времени сеанса, т.е. до выхода из системы. Сеансы используются для отслеживания действий пользователя после его входа в систему.

Автор: RishikeshD Размещён: 08.04.2015 10:20

0 плюса

Google JSESSIONID . Это объяснит, как Servlet API первоначально использует перезапись URL, а затем, если куки включены, куки для управления сессиями.

HTTP не имеет состояния, поэтому клиентский браузер должен отправлять идентификатор своего сеанса на сервер с каждым запросом. Сервер любым способом использует этот идентификатор для извлечения любых данных для этого сеанса, делая их доступными в течение всего срока действия запроса.

Автор: Nick Holt Размещён: 11.12.2008 02:12

0 плюса

Сессия в Asp.net:

1. Сохраняет данные по всему приложению.

2. Содержит данные, если текущий сеанс жив. Если нам нужны некоторые данные, доступные из нескольких контроллеров, и сеанс - это способ хранения и получения данных.

3.Сессии - это файлы на стороне сервера, которые содержат информацию о пользователе. [Сессии являются уникальным идентификатором, который сопоставляет их с конкретными пользователями]

Перевод этого на веб-серверы: сервер сохранит соответствующую информацию в объекте сеанса и создаст идентификатор сеанса, который он отправит обратно клиенту в файле cookie. Когда клиент отправляет обратно cookie, сервер может просто найти объект сеанса, используя идентификатор. Таким образом, если вы удалите куки, сеанс будет потерян.

Автор: Vicky Размещён: 12.02.2015 08:40

0 плюса

Cookie - это способ реализации сеанса между клиентом и сервером, таким образом информация о сеансе сохраняется в cookie. Но это не единственный способ хранения информации о сеансе, другой способ - сохранить информацию о сеансе в URL.

Автор: lessisawesome Размещён: 03.07.2015 01:51

0 плюса

Файлы cookie хранятся в браузере в формате текстового файла. Хранится ограничение на объем данных. Разрешается только 4 КБ [4096 байт] . Переменная $ _ COOKIE не будет содержать несколько файлов cookie с одним и тем же именем.

мы можем легко получить доступ к значениям файлов cookie. Так что это менее безопасно . Функция setcookie () должна появляться ДО

<html> 

тег.

Сеансы хранятся на стороне сервера. Хранится неограниченное количество данных. В сессиях хранится множественная переменная. мы не можем легко получить доступ к значениям файлов cookie. Так что это более безопасно .

Ссылки: разница между файлами cookie и сессиями

Автор: Elangovan Размещён: 01.04.2015 10:03

0 плюса

В этой ветке уже есть большой вклад, просто обобщите диаграмму последовательности, чтобы проиллюстрировать ее по-другому.

введите описание изображения здесь

Автор: Gearon Размещён: 14.03.2019 08:49
32x32