首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有状态体验

有状态体验
EN

Stack Overflow用户
提问于 2009-10-22 09:25:53
回答 5查看 342关注 0票数 1

web应用程序可以通过哪三种方式为用户提供有状态的体验?(使用http)我知道Sessions和Cookie是其中的两种,但不知道第三种(数据库??)

是的,这是一个讲座上的问题。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-22 09:30:28

实际上只有两种方法

  • 标识每个请求背后的用户,并将该标识与会话上下文(存储在内存中、数据库中,任何地方)相关联,会话ID或cookies (出于ID目的)就是从该会话上下文中获得的。
  • 管理由客户端传回100%上下文(将上下文嵌入到客户端将使用的urls或表单中;ViewState以这种方式工作(*)。此外,Cookie也可以用来存储这样的上下文。

上下文数据在请求之间持久化的方式,以及对于基于标识用户的系统,提供标识的方式为提供了上面列出的两种方法的许多变体。例如:

数据库中的

  • context,memory
  • context中的
  • context文件中的
  • context在ViewState (*)
  • context中传递...,Cookie中存储的

H121上下文在SessionID中传递了URL/Form H224H123ID来自Cookie的H125 ID H226

(*)编辑:我最初将ViewState标记为会话ID传递设备,但正如erikkallen所指出的,ViewState的默认用法是传递上下文信息,而不是ID。

然而,最后,这一切都取决于上下文是存储在服务器端还是通过每个请求往返于客户端。

票数 7
EN

Stack Overflow用户

发布于 2009-10-22 09:29:17

不止三个。

  • 会话状态
  • 查看状态
  • Cookie将数据保存到文件

基本上,任何可以跨web请求持久化数据的东西都可以用来存储状态。

票数 0
EN

Stack Overflow用户

发布于 2009-10-22 09:37:14

查询字符串是实现此目的的最常见方法之一。例如。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1604551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档