情景
登陆后,地址栏偶尔会出现sessionid,这是为什么呢?
解释
为什么会出现?
根本原因是服务器进行了url地址重写;
分析过程
第一次登陆成功后,会进行重定向,返回新地址;这时会判断请求头中有没有cookie,如果恰巧没有,那么服务器会认为客户端禁用了cookie,所以会对新地址进行重写,重写后的地址都会带着sessionid。
我们可以通过curl模拟请求来查看,
如果上例中不存在重定向,那么就不会反悔新url,从而肯定不会进行url地址重写,也就不会出现地址栏有sessionid情况。
为什么偶尔出现,出现的次数不多?
这是因为通常情况下,我们访问某网站时,先进入index.jsp,jsp默认生成jessionid存储在客户端,用户填写用户名密码发送登录请求时,就带着这个sessionid了!发送后,服务器端发现header中带有sessionid,就认为客户端没有禁用cookie,所以不会重写url,地址栏也就不会有sesssionid了。