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

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

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

файлы и сессию? В чем разница между ними?

8 ответов


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

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


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

сейчас, когда кассир знает о своей проблеме памяти, он может записать свои данные на бумажке и назначить вам короткий номер. Затем, вместо того, чтобы давать свой номер счета и водительские права для каждой транзакции, вы можете просто сказать "Я клиент 12"

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

другой альтернативой является использование сервером перезаписи URL для обмена идентификатором сеанса.

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


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


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

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


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

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


сеанс в Asp.net:

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

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

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

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


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


печенье хранятся в браузере в формате текстового файла.Хранится предельный объем данных.Это только позволяет 4kb[4096bytes].$ _COOKIE переменная не будет содержать несколько куки с тем же именем

мы можем легко получить доступ к значениям cookies.Так оно и есть!--2-->менее безопасно.The setcookie () функция должна появиться перед

<html> 

тег.

сеансы хранятся на стороне сервера.Это хранится неограниченный объем данных.Он удерживает множественную переменную в сеансах. мы не можем легко получить доступ к значениям cookies.Так оно и есть!--2-->более безопасное.

ссылки: разница между cookies и сеансами