1.session何时被创建?
客户首次访问服务器时,回话session对象被创建并分配一个唯一的Id,同时id号发送到客户端,并存入cookie,使得客户端session对象和服务器端一致。
2.如何确定session的作用范围?但客户再次访问的时候,如何确定是同一个客户?
当用户关闭浏览器时,客户针对当前服务器的session即被关闭或超时或invalidate失效,当客户再次打开浏览器访问的时候,会重新分配会话sessionID。若禁止cookie,,同一个客户就会对应多个session对象,服务器无法识别访问这些页面是同一个客户。
3.session的作用是什么?
存储会话信息供浏览器后续请求使用,可以获取并修改变量的值。和cookie一起使用识别同一个客户。
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。session机制。session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器
会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。比如:
<form name="testform" action="/xxx"> <input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764"> <input type="text"> </form> 实际上这种技术可以简单的用对action应用URL重写来代替。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIEsession不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到session中保存的是对象,cookie中保存的是字符串