深入理解cookie与sessionID,禁用cookie后的URL重用传值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bestxianfeng163/article/details/83866009

cookie自我理解就是记录浏览器的一种行为仪器,

cookie作用:

1.可以在客户端上保存用户数据,起到简单的缓存和用户身份识别等作用。

2.保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端
,客户端下次访问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,
来判断用户是否登陆。

3.记录用户的行为。

cookie弊端:

1.增加流量消耗,每次请求都需要带上cookie信息。

2.安全性隐患,cookie使用明文传输。如果cookie被人拦截了,那人就可以取得所有的session信息。

3.Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。

替代解决方案:

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务
器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要
保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实
际上它还有其他选择。

 cookie机制。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应
头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。

而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的


 cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作
用范围。若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗
口,cookie就消失。

保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则
把这个标识发挥给服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被
人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器

       经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面
。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便
在表单提交时能够把session id传递回服务器。


给你举个更生动的例子,以前大学的时候,经常去大卡司去喝奶茶,每喝一杯,都可以得到
一个印花(第一次喝的时候他会给你个积分卡片),集齐6个印花之后,就可以免费获得一杯
奶茶。这样子,印花的信息是保存在客户的积分卡上,你如果不怀好意的话,就自己搞几个
神似的印花去骗奶茶喝吧。哈哈,这样子是不是更符合在客户端端保持状态。而拿银行卡去
银行取钱,我们的卡只需要保存一个卡号,更多的信息是保存在服务器中,这样也比较符合
服务器端保持状态。希望能帮到你。

    可能是我的描述不够贴切,积分卡和存折是类似的,用户的存取信息是保存在存折上的
,存折又是在客户手里(客户端)可能现在很少有人用存折了,或存折已经被银行取消掉了

<a href="/Blog/<%=response.encodeRedirectURL("login.jsp")%>" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-exit'" style="width: 150px;">登录页面</a>

猜你喜欢

转载自blog.csdn.net/bestxianfeng163/article/details/83866009