`
df20070608
  • 浏览: 30226 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

session机制

阅读更多

http是一种无状态的协议,使用这种协议时,客户打开一个连接向服务器发送一个请求,服务器对请求进行处理并作出应答,然后本次连接断开,服务器不会在任何地方对客户信息进行记录,因此,当同一个客户在第二次向服务器发送请求时,服务器会把这请求当作一次新的请求,与前次的请求无关。对于简单的web应用,这很适合,因为每个请求的结果仅仅只是获取一些静态的资源或信息,服务器不必知道一系列请求是否来自同一客户,也不必知道,但对于现在的大多数web应用无状态就不能满足需求了。比如我们进入javaeye,想登陆进行会员操作,在登陆页面输入我们的用户名、密码,点击登陆,成功登陆的话页面跳转回到登陆前的页面或其他页面,如果此时是无状态的,在我们看见服务器说我们登陆成功时,我们已经处于未登陆状态,因为服务器没有记录我们登陆行为,我们向服务器发送的下一次请求与我们是否登陆也就没有任何关系,还好, session机制的引入解决了这一问题。

 

session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。当服务器要为某个客户创建一个session的时候,服务器会首先检测客户端的请求是否包含了一个session标识即session id,如果包含服务器则会将session检测出来并用于获取客户信息,如果未检测到则会为客户创建一个session并自动生成一个相应的id,该id能唯一的标识该session,并将session id包含在响应中返回给客户。

 

session最常借助cookie来保存session idcookie是一种由服务器发送给客户的片段信息,并在客户在向服务器发送请求时需包含它来标示自己,通过cookie,客户与服务器之间的通信就变为一种有状态的通信,它可以存储在用户游览器的内存中,并根据实际需要可保存在用户的硬盘上。在我们登陆javaeye时,我们可以选择“自动登录”,这样我们下一次在同一电脑上打开网页时,javaeye就能自动识别我们。Session机制可通过cookie来实现,但由于cookie的能够记录我们登陆网站的信息,某些用户会选择禁用cookie,在游览器的“Internet选项->隐私”中,我们可以更改对cookie一些限制,如果我们将隐私级别调至最高,意味着我们不允许任何服务器读取我们电脑上的cookie,也不接受任何服务器为我们创建的cookie,此时,我们登陆QQ邮箱时,我们会无法登陆,并在登陆页面上会提醒我们设置cookie。由于cookie可被禁用,因此需要有另外的方法使我们与服务器的通信仍处于有状态,URL重写就是这样一种技术。

 

URL重写是指将生成的session id直接保存在URL后,比如

http://www.xxxxx.com/xxx;jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764

    其中jsessionsession的名字,而后面那一串字符就为session id。另外还有一种表单隐藏字段技术,它将session id保存在html的隐藏表单中,但目前,该技术已经很少使用了。在前面所说的禁止cookie后无法登陆QQ邮箱是因为QQ邮箱的服务器并没有采用该技术,是否支持这些技术是由服务器端所决定的,如果服务器端未采用上述技术中任何一种,那么我们与该服务器的通信只能是无状态通信。

 

session通常被认为认为随我们开始访问某网页而开始,随关闭该网页而结束,实则不然,session只有在服务器调用

HttpSession

getSession(boolean create)

方法时,才会被创建。该方法可以返回一个HttpSessionjavasession),如果session不存在且createtrue时,session才会被创建。而我们关闭某网页时,游览器不会向相应的服务器发送一个消息告诉它我们不再访问该页面,也就是服务器器不知道我们何时结束访问,它会一直保存着session直到用户发送销毁session请求或内存溢出,因而session必须需要一个生命周期,当到了生命周期结束时,session就自动销毁。另外session常用cookie来实现,如果cookie被保存在我们的硬盘上,再下一次使用时,只要把原来的session id发送给服务器,服务器则能够再次识别用户!

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Cookie、Session机制详解.doc

    Cookie、Session机制详解 Cookie机制是Web程序中常用的技术,用来跟踪用户的整个会话。Cookie通过在客户端记录信息确定用户身份。Cookie机制可以弥补HTTP协议的无状态特性,使服务器可以从客户端获取用户信息,以便...

    cookie机制和session机制的区别

    ### Cookie机制与Session机制的区别及关系 在现代网络应用中,服务器端与客户端之间的状态保持是至关重要的,尤其是在无状态的HTTP协议下。Cookie机制与Session机制是两种常用的状态管理方式,它们各自拥有独特的...

    cookie机制和session机制的区别.docx

    cookie 机制和 session 机制的区别 cookie 机制和 session 机制是两种常用的Web会话跟踪机制,虽然它们都可以实现会话跟踪,但它们的实现机制和应用场景却有所不同。 首先,cookie 机制是一种客户端保持状态的方案...

    Cookie与Session机制

    【Cookie与Session机制】在Web开发中,会话跟踪是必不可少的技术,用于区分不同用户的操作。常见的会话跟踪手段有Cookie和Session。Cookie是通过在客户端存储信息来识别用户身份,而Session则是在服务器端存储信息来...

    cookie机制和session机制的区别.

    ### Cookie机制与Session机制的区别 #### 一、概念解析 **Cookie** 和 **Session** 是两种常见的用于在Web应用程序中维护用户状态的技术。 - **Cookie**:是一种客户端存储技术,服务器可以通过HTTP响应向客户端...

    山石网科防火墙session机制.xlsx

    山石网科防火墙session机制

    Cookie与session机制详解

    ### Cookie与Session机制详解 #### 一、Cookie与Session的概念及区别 在Web开发中,为了保持用户的状态信息,通常会用到两种技术:Cookie和Session。这两种技术都是用来跟踪用户的浏览活动,但它们的工作原理有所...

    session机制与cookie机制(来源于IT168)

    【标题】:“session机制与cookie机制(来源于IT168)” 【描述】:这篇文章讨论了session和cookie在Web开发中的重要角色,解释了它们如何帮助维持用户状态,并且介绍了这两种机制的基本概念。 【标签】:“session...

    Cookie机制和Session机制

    ### Cookie机制和Session机制 #### 一、基本概念与背景 在现代Web应用中,为了实现用户认证、个性化设置等功能,通常需要在客户端与服务器之间维持一段时间内的状态信息。然而,HTTP协议本质上是无状态的,这意味...

    session机制详解

    目录: 一、术语session 二、HTTP协议与状态保持 三、理解cookie机制 四、理解session机制 五、理解javax.servlet.http.HttpSession 六、HttpSession常见问题 七、跨应用程序的session共享 八、总结

    session机制,专门针对session做的

    【session机制】是一种在Web应用程序中用于保持客户端与服务器之间状态的技术。在Web开发中,由于HTTP协议本身的无状态性,即服务器不保留关于客户端的任何信息,每次请求都被视为独立的事务。为了实现诸如购物车、...

    Cookie与Session机制.doc

    Cookie 与 Session 机制 Cookie 机制是 Web 程序中常用的技术,用来跟踪用户的整个会话。Cookie 通过在客户端记录信息确定用户身份。下面是 Cookie 机制的详细说明: 1. 什么是 Cookie? Cookie 意为“甜饼”,是...

    8.session机制.doc

    Session机制是Web应用程序中用于跟踪用户状态的一种技术。在HTTP协议中,由于其无状态特性,每次请求之间是相互独立的,无法直接识别同一用户的不同请求。为了解决这个问题,Session机制应运而生。 Session的基本...

    Cookie-Session机制详解.docx

    Cookie-Session 机制详解 Cookie 机制是 Web 程序中常用的技术,用来跟踪用户的整个会话。Cookie 通过在客户端记录信息确定用户身份。Cookie 的工作原理是当客户端请求服务器,如果服务器需要记录该用户状态,就...

    PHP中Session机制的研究与应用.pdf

    1. Session 机制是指跟踪和识别用户的机制,用于记录用户信息。 2. Session 是一种特定时间概念,能够存储当前浏览器窗口打开的任何窗口的用户信息。 3. Session 的工作原理是使用 Session-start() 函数启动 Session...

    重写session机制,将session写入数据库,建表和注释写的都很清晰,已测试

    重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试

    Session机制详解(jsp-servlet_技术)文.pdf

    【Session机制详解】 Session机制是Web应用程序中用于保持客户端与服务器之间状态的一种技术。在HTTP协议下,由于其无状态的特性,每次请求之间是相互独立的,这意味着服务器无法识别同一用户的不同请求。为了实现...

Global site tag (gtag.js) - Google Analytics