Вопрос

Каковы три способа, с помощью которых веб-приложения могут предоставлять пользователю информацию о состоянии?(используя http) Я знаю, что сеансы и файлы cookie - это два из них, но не знаю третьего (база данных??)

Да, это вопрос из лекции.

Это было полезно?

Решение

Фактически существует только два подхода:

  • Идентифицируйте пользователя, стоящего за каждым запросом, и свяжите этот идентификатор с контекстом сеанса (сохраненным в памяти, в базе данных, где угодно) Именно здесь используются идентификаторы сеанса или файлы cookie (для целей идентификации).
  • Управляйте тем, чтобы 100% контекста было передано обратно клиентом (встраивая контекст в URL-адреса или формы, которые будут использоваться клиентом;ViewState работает следующим образом (*).Кроме того, файлы cookie также могут использоваться для хранения такого контекста.

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

  • контекст в базе данных,
  • контекст в памяти
  • контекст в файле
  • контекст, передаваемый в ViewState (*)
  • контекст ...,
  • контекст, хранящийся в файле cookie
  • Идентификатор из SessionID, переданный по URL / Форме
  • Идентификатор из файла cookie

(*) редактировать:Изначально у меня было ViewState, помеченное как устройство для передачи идентификатора сеанса, но, как указал erikkallen, ViewState по умолчанию используется для передачи контекстной информации, а не идентификатора.

В конце концов, однако, все зависит от того, хранится ли контекст на стороне сервера или передается клиенту с каждым запросом.

Другие советы

Их больше, чем трое.

  • Состояние сеанса
  • Состояние просмотра
  • Файлы cookie
  • База данных
  • Кэш
  • Запись данных в файлы

В принципе, все, что может быть использовано для сохранения данных в веб-запросе, может быть использовано для сохранения состояния.

Похоже на домашнее задание. Во всяком случае, это расплывчато .. Способы отследить пользователя? Способы хранения данных пользователя?

Отслеживание можно выполнить с помощью файлов cookie, URL-токена или скрытого поля (в случае форм).

Хранение данных может быть сделано разными способами.

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

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

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

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

Строки запроса являются одним из наиболее распространенных способов сделать это. Например.

http://www.site.com/products /index.aspx?productId=3&page=2&showInactive=n

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top