您的位置:首页 > 其它

Cookie 和session浅了解

2017-03-23 10:24 399 查看
Refer http://www.jb51.net/article/40772.htm

           http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html
           http://blog.csdn.net/fangaoxin/article/details/6952954/
http 是无状态的协议,cookie和session都是为了保持浏览器和服务器连接的连续性,不同的是cookie是存储在浏览器,而session是存储在服务器上。因此从安全性上来说,cookie要较session更差。因为客户端的其它程序是可接近,盗用,或篡改存储在硬盘上的cookies文件的。而session存储在自己的服务器上,不容易被其它程序所获取。从性能上来说,采用cookie保存会话的方式,使浏览器每次向服务器请求都需要在请求体中带上cookie,当cookie具有一定大小,且请求量很大时,会造成带宽的浪费而且影响性能。Session则是每次请求带上一个服务器返回的sessionid即可,sessionid的大小肯定是小于等于cookie的大小的。但是多个的请求,需要在服务器上存储多个客户端的数据,对于服务端的存储方面要求较高。从保持会话时长来说,cookie由于是客户端存储,所以可以设定存储时长,一般默认有效期是直到浏览器被关闭的时候,此时cookie的存储只在内存中。若设定存储时长maxAge为大于零的数,则其会以文件形式存储在硬盘上。并且会检测时间是否查过maxAge的设置,如未则一直有效。Session存储在服务器,其有效时长的配置是在服务器上。Session的生命周期一般是浏览器窗口关闭便结束,但是为了定期释放服务器的空间,减小存储压力,大多网站都会设定,会话处于非活动状态20或30分钟就会清除服务器上的session数据,此时即使浏览器的窗口并未关闭,再次请求时仍需重新生成session数据。从使用性来说,cookie的弊端在于其需要客户端支持cookie方式或打开cookie方式,大多数手机浏览器都不支持cookie.
Session的话,主要是当客户端访问的数据存储在不同的服务器上时,这个session数据共享问题。不过是说采用数据库的方式就好。

 

如此看,cookie和session皆有优劣,所以在平常的应用场景中都是结合使用。如,需要记住密码一段时间,则该用户名和密码或其它就可以已cookie的方式保存在客户端中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: