В чем разница между сеансом и Cookie?

В чем разница между сеансом и Cookie?

Какие обстоятельства должны быть использованы?

Ответ 1

Сеансы

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

Сессии обычно используются для поддержания состояния при навигации по веб-сайту. Однако они также могут использоваться для хранения объектов с общедоступным доступом. Только если для параметра Session-state установлено значение InProc, если он установлен на другой режим сеансового состояния, объект также должен быть сериализуемым.

Session["userName"] = "EvilBoy";

if(Session["userName"] != null)
  lblUserName.Text = Session["userName"].ToString();

Cookies

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

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

//add a username Cookie
Response.Cookies["userName"].Value = "EvilBoy";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(10);
//Can Limit a cookie to a certain Domain
Response.Cookies["domain"].Domain = "Stackoverflow.com";

//request a username cookie
if(Request.Cookies["userName"] != null)
   lblUserName.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);

Sidenote

Следует отметить, что ASP.NET также поддерживает cookieless управление состоянием

Ответ 2

Файл cookie - это строка идентификатора, хранящаяся на сервере (который имеет домен) в браузере пользователя, который посещает сервер/домен.

Сеанс - это единица, возможно, переменные, состояние, настройки, когда определенный пользователь обращается к серверу/домену в определенный период времени. Вся информация о сеансе находится в традиционной модели, хранящейся на сервере (!)

Поскольку многие одновременные пользователи могут одновременно посещать сервер/домен, сервер должен иметь возможность отличать много разных одновременных сеансов и всегда назначать правильный сеанс нужному пользователю. (И ни один пользователь не может "украсть" другой сеанс использования)

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

Cookie позволяет серверу распознавать браузер/пользователя. Сессия позволяет серверу запоминать информацию между различными видами страниц.

Ответ 3

Cookie - это хранилище ваших переменных на клиентской стороне. Он хранится на клиентской машине браузером физически. Он имеет ширину машины. Различные пользователи на одной машине могут читать один и тот же файл cookie.

Из-за этого:

  • Не следует хранить конфиденциальные данные в файле cookie.
  • Не следует хранить данные, принадлежащие одной учетной записи пользователя.
  • Cookie не влияет на ресурсы сервера.
  • Cookie истекает в указанную вами дату.

Сеанс - это хранилище ваших переменных на стороне сервера. По умолчанию он хранится в памяти сервера. Но вы можете настроить его для хранения на SqlServer. Он имеет ширину браузера. Тот же пользователь может запускать два или более браузера, и каждый браузер имеет свою собственную сессию.

Из-за этого:

  • Вы можете сохранять конфиденциальные данные в сеансе.
  • Вы не должны сохранять все в сеансе. это трата ресурсов сервера.
  • После закрытия браузера тайм-аут сеанса очищает всю информацию. (по умолчанию 20 минут).

Ответ 4

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

Ответ 5

Сессия - это серверный объект, которые передают или получают доступ к данным между вызовами страницы.
Cookies - это объект, который является клиентской/клиентской машиной, которая хранит некоторую текстовую информацию обозревателя и сервера.

Ответ 6

  • Основное различие между куки файлами и сеансами заключается в том, что файлы cookie хранятся в пользовательском браузере, а сеансы - нет. Эта разница определяет, для чего лучше всего использовать.

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

Ответ 7

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

Ответ 8

Похоже, что существует некоторая путаница в отношении того, что такое cookie сеанса.

Во-первых, когда мы говорим о сессионных куках - это не имеет никакого отношения к сессиям ASP.Net. Подобным образом, cookie сеанса не имеет ничего общего с процессами на стороне сервера или кешированием.

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