Web应用中session的实现机制

浏览:
字体:
发布时间:2013-12-09 23:23:47
来源:
本文简单介绍一下session的实现机制,示例的片段代码为java环境。
在客服端浏览器第一次访问一个URL的时候,服务器在返回的
httpresponse header中会带上如下参数告诉浏览器将session的id号作为
cookie保存。如下:
Set-Cookie:JSESSIONID=98BF5B4E64D1EEFD7477A9544A695336; Path=/prjWeb
浏览器再次访问该URL的时候会在httprequest header中的cookie中带上这个
session id,服务器从request header中读取cookie从而达到session的识别。
示例如下:
Cookie:JSESSIONID=98BF5B4E64D1EEFD7477A9544A695336; .......
这是在浏览器支持cookie的时候的工作机制,这些由浏览器和web服务器自动完成。
 
 
如果浏览器禁用了cookie的时候,就需要通过编程来保证session id在浏览器和客户端
进行传递。
比如构造一个超链接的时候:服务器端代码将session id作为超链接参数的一部分。
String url = response.encodeURL("/prjWeb/x.req");
PrintWriter pw = response.getWriter();
pw.println("Sample encoded URL --><a href='" + url + "'>purchase</a>" );
传到浏览器的内容会带上session id
<a href='/prjWeb/x.req;jsessionid=1F5DAB0A983ACEDBFC31754E2225119C'>purchase</a>
response.encodeURL在客户端浏览器支持cookie的时候不会输出session id。
应该是encodeURL中通过判断客户端请求头是否带有cookie并且有session id来实现的。
另外,当浏览器禁用cookie后,每次response的header都会有Set-Cookie参数。
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();