学习session机制
序:
网络服务的形式可以分为两大类:1)面向连接的服务2)无连接的服务;两者主要的不同在于客户端和服务器之间建立连接的机制不同。
对于面向连接的服务,在计算机开始通信之前,两台计算机必须通过网络建立连接,然后开始传输数据。待数据传输结束后,再撤销这个链接。从建立连接起服务器就已与客户端一直保持连接状态,因此这条通信链路在撤销连接之前就只有服务器与一个客户端在通信。这样服务器不需多次验证客户端的信息因为在第一次建立连接时服务器就已经验证并记住了该客户端的信息。
而对于无连接的服务,在计算机开始通信之前,并没有建立连接,客户端与服务器在完成一次信息传递之后就断开联系。这样就给我们造成了一个困难,当客户端想再次向服务器发送请求时,如何确定所建立的连接是来自同一个客户端呢?也许这样不好理解,那么就举一个例子吧:我们平常登录博客空间后,就获取了自己博客的首页信息,当我们再次点击其他信息链接向服务器进一步请求其它信息时,服务器只有知道你是那一个用户才能向你发送相应的数据,那么服务器如何识别请求是否是来自同一个用户呢?
解决方法有一下几种:
1)使用Cookies保存客户端的信息;
1隐私容易被窃取
2不占用服务器的资源,但大小有限制
2)使用包含额外参数(session ID)的URL(即URL重写)
1需要对所有动态生成的URL进行重写,代码比较繁琐。
2只能用于动态生成的文档如JSP和servlet,而不能用于Html文档。
3由于URL可见存在一定风险;
3)建立数据的隐藏表单字段(Hidden Form Field)
4)使用内建Session对象
下面详细学习一下session:
一、什么是Session?
英文中session指一段时间内的一连串动作消息等。而在此可理解为一段时间内客户端和服务器之间的一连串交互过程。客户端第一次连接上服务器时,服务器端就会生成一个Session对象(占用一定的存储空间)用来记录客户端的信息,每个session有一个唯一的SessionID,当服务器发送响应数据时session ID也会被传给客户端(Cookies功能未被禁止时保存在Cookies中,否则通过重写URL将其包含在URL中)。客户端下次再访问时,就带着从服务器带回的Session ID,服务器就根据Session ID来判断是那个客户端,并传送相应的服务信息。这样session就起到了会话追踪的作用。
注意点:浏览器关闭时、session在服务器端不会销毁而Cookies会被清空;
二、为什么要用Session?
相对而言,Session的安全性较高,因为其他方法保存的客户信息(如帐号、密码等)比较容易被窃取。另外使用
Session能够节约服务器资源,缓解服务器压力。因为当客户端无访问超过一定时间,服务器会自动销毁该客户端的Session,从而节省资源。
三、得到Session的两种方法及其区别?
1)request.getSession();
2)request.getSession(true);
3)request.getSession(false);
前两种方法,当session存在时直接获取已有的session,没有时新建一个;第三种有则取没则不新建;
四、存储Session ID的三个方法
1)保存在Cookies中
2)URL重写
3)隐藏表单字段
六、Session 存在时间的设置方法及其优先级?
1)在程序中设置:setMaxInactiveInterval(100)单位秒;
2)Tomcate中设置?
3)默认为30分钟
整理于2011.01.20
分享到:
相关推荐
Cookie、Session机制详解 Cookie机制是Web程序中常用的技术,用来跟踪用户的整个会话。Cookie通过在客户端记录信息确定用户身份。Cookie机制可以弥补HTTP协议的无状态特性,使服务器可以从客户端获取用户信息,以便...
### Cookie机制与Session机制的区别及关系 在现代网络应用中,服务器端与客户端之间的状态保持是至关重要的,尤其是在无状态的HTTP协议下。Cookie机制与Session机制是两种常用的状态管理方式,它们各自拥有独特的...
cookie 机制和 session 机制的区别 cookie 机制和 session 机制是两种常用的Web会话跟踪机制,虽然它们都可以实现会话跟踪,但它们的实现机制和应用场景却有所不同。 首先,cookie 机制是一种客户端保持状态的方案...
【Cookie与Session机制】在Web开发中,会话跟踪是必不可少的技术,用于区分不同用户的操作。常见的会话跟踪手段有Cookie和Session。Cookie是通过在客户端存储信息来识别用户身份,而Session则是在服务器端存储信息来...
### Cookie机制与Session机制的区别 #### 一、概念解析 **Cookie** 和 **Session** 是两种常见的用于在Web应用程序中维护用户状态的技术。 - **Cookie**:是一种客户端存储技术,服务器可以通过HTTP响应向客户端...
山石网科防火墙session机制
### Cookie与Session机制详解 #### 一、Cookie与Session的概念及区别 在Web开发中,为了保持用户的状态信息,通常会用到两种技术:Cookie和Session。这两种技术都是用来跟踪用户的浏览活动,但它们的工作原理有所...
【标题】:“session机制与cookie机制(来源于IT168)” 【描述】:这篇文章讨论了session和cookie在Web开发中的重要角色,解释了它们如何帮助维持用户状态,并且介绍了这两种机制的基本概念。 【标签】:“session...
### Cookie机制和Session机制 #### 一、基本概念与背景 在现代Web应用中,为了实现用户认证、个性化设置等功能,通常需要在客户端与服务器之间维持一段时间内的状态信息。然而,HTTP协议本质上是无状态的,这意味...
目录: 一、术语session 二、HTTP协议与状态保持 三、理解cookie机制 四、理解session机制 五、理解javax.servlet.http.HttpSession 六、HttpSession常见问题 七、跨应用程序的session共享 八、总结
【session机制】是一种在Web应用程序中用于保持客户端与服务器之间状态的技术。在Web开发中,由于HTTP协议本身的无状态性,即服务器不保留关于客户端的任何信息,每次请求都被视为独立的事务。为了实现诸如购物车、...
Cookie 与 Session 机制 Cookie 机制是 Web 程序中常用的技术,用来跟踪用户的整个会话。Cookie 通过在客户端记录信息确定用户身份。下面是 Cookie 机制的详细说明: 1. 什么是 Cookie? Cookie 意为“甜饼”,是...
### session机制详解 #### 一、术语session 在IT领域,特别是Web开发中,`session`是一个非常重要的概念。从字面上理解,`session`通常指的是有始有终的一系列动作或消息。例如,在打电话的过程中,从拿起电话拨号...
Session机制是Web应用程序中用于跟踪用户状态的一种技术。在HTTP协议中,由于其无状态特性,每次请求之间是相互独立的,无法直接识别同一用户的不同请求。为了解决这个问题,Session机制应运而生。 Session的基本...
Cookie-Session 机制详解 Cookie 机制是 Web 程序中常用的技术,用来跟踪用户的整个会话。Cookie 通过在客户端记录信息确定用户身份。Cookie 的工作原理是当客户端请求服务器,如果服务器需要记录该用户状态,就...
1. Session 机制是指跟踪和识别用户的机制,用于记录用户信息。 2. Session 是一种特定时间概念,能够存储当前浏览器窗口打开的任何窗口的用户信息。 3. Session 的工作原理是使用 Session-start() 函数启动 Session...
重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试
【Session机制详解】 Session机制是Web应用程序中用于保持客户端与服务器之间状态的一种技术。在HTTP协议下,由于其无状态的特性,每次请求之间是相互独立的,这意味着服务器无法识别同一用户的不同请求。为了实现...