Session 与Cookie 的区别与联系总结

Session与Cookie区别

  • Cookie和Session都是会话技术,Cookie是运行在客户端,Session是运行在服务器端。
  • Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击。Cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
  • Session是保存在服务器端上会存在一段时间才会消失,如果session过多会增加服务器的压力。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
  • Cookie有大小限制以及浏览器在存cookie的个数也有限制,Session是没有大小限制和服务器的内存大小有关。单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie。
  • 可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。

Session与Cookie联系

Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源,是存在客服端内存或者一个cookie的文本文件中;而“Session”则会占用服务器资源。所以,尽量不要使用Session,而使用Cookies。但是我们一般认为cookie是不可靠的,session是可靠地,但是目前很多著名的站点也都以来cookie。有时候为了解决禁用cookie后的页面处理,通常采用url重写技术,调用session中大量有用的方法从session中获取数据后置入页面。

Cookie最典型的应用

  1. 判断用户是否登陆过网站,以便下次登录时能够直接登录。如果我们删除cookie,则每次登录必须从新填写登录的相关信息。
  2. 另一个重要的应用是“购物车”中类的处理和设计。用户可能在一段时间内在同一家网站的不同页面选择不同的商品,可以将这些信息都写入cookie,在最后付款时从cookie中提取这些信息,当然这里面有了安全和性能问题需要我们考虑了。

你可能感兴趣的:(Session 与Cookie 的区别与联系总结)