Web 应用程序可以通过哪三种方式为用户提供有状态的体验?(使用 http)我知道 Sessions 和 Cookies 是其中的两种,但不知道第三种(数据库??)
是的,讲座中的一个问题。
Web 应用程序可以通过哪三种方式为用户提供有状态的体验?(使用 http)我知道 Sessions 和 Cookies 是其中的两种,但不知道第三种(数据库??)
是的,讲座中的一个问题。
实际上只有两种方法:
上下文数据在请求之间的持久化方式,对于基于识别用户的系统,提供身份的方式,提供了上面列出的两种方法的许多变化。例如:
(*) 编辑:我最初将 ViewState 标记为会话 ID 传递设备,但正如 erikkallen 所指出的,ViewState 的默认用途是传递上下文信息,而不是 ID。
然而,最终,这一切都取决于上下文是存储在服务器端还是随每个请求往返于客户端。
不止三个。
基本上任何可用于跨 Web 请求持久化数据的东西都可用于存储状态。
看起来像一个家庭作业问题。无论如何,它是模糊的.. 跟踪用户的方法?存储用户数据的方法?
可以使用 cookie、url 令牌或隐藏字段(在表单的情况下)进行跟踪。
存储数据可以通过很多不同的方式完成。
最常见的场景是将会话 ID 存储在 cookie 中,并使用该 ID 检索用户的会话。
AJAX 是使无状态 Web 应用程序显示为有状态的第三个部分。
它仍在幕后提交请求,但对用户而言 - 屏幕不会刷新或看起来像网站。
您可以拥有一个数据库驱动的网站,但它不会是有状态的。