Web应用中session的实现机制
本文简单介绍一下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参数。
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 04-29通用智能人“通通”亮相中关村论坛
- 04-29拼多多投入45亿补贴,助力上海“五五购物节
- 04-29通义千问再开源 推出最大尺寸1100亿参数模型
- 04-29【环球视线】比亚迪交付首列出海云轨
- 04-21中国产品数字护照体系加速建设
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御