session和cookie

1,session采用的是在服务器端保持状态的方案。而cookie采用的是在客户端保持状态的方案。

2,由于采用服务器端保持状态的方案在客户端也需要保持一个标识,因而session机制可能需要

coolie的机制来达到标识的目的,但实际上有其他方法。

coolie机制是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示来提示

3,浏览器检查所有存储的cooKie,知道某一个cookie的作用范围大于等于将要请求的

的资源所在的位置,这时把cookie附在请求资源的HTTP请求头上发送给服务器。

4,session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。

当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识

如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来

如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相

关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应

中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给

服务器。一般这个cookie的名字都是类似于SEEESIONID。

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
   将登陆信息等重要信息存放为SESSION
   其他信息如果需要保留,可以放在COOKIE中

 

posted @ 2019-01-24 21:02  joson01  阅读(85)  评论(0编辑  收藏  举报