详解Cookie和Session

2019-08-17  本文已影响0人  Gray皓白

目录

  1. Cookie的定义
  2. Cookie的分类
  3. Cookie的机制
  4. Cookie的用途
  5. Cookie的缺陷
  6. Session的定义
  7. Session的机制
  8. Cookie和Session的异同
  9. 网站应该如何选择呢
  10. 参考资料

Cookie的定义

Cookie,又称为“小甜饼”。类型为“小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密)。

Cookie的分类

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie硬盘Cookie

所以按存在时间,又可分为非持久Cookie持久Cookie

Cookie的机制

  1. 客户端发送请求至服务器,包含一系列信息:比如名字,年龄,ID号码等等;

  2. 服务器将这些信息(比如名字,年龄,ID号码等等)保存在cookie中,通过响应将cookies发送至浏览器;

  3. 浏览器在本地存储这些信息,以备不时之需;

  4. 当下一次浏览器发送任何请求至服务器时,它会同时将这些cookies信息发送给服务器(cookie附在请求资源的HTTP请求头上发送给服务器。),然后服务器使用这些信息来识别用户或者干些其它事情。

cookie原理示意图

Cookie的用途

Cookie的缺陷

  1. Cookie被附加在每一个HTTP请求中,这无形中增加了流量;

  2. Cookie在HTTP中是明文传递的,所以是不安全的,除非使用HTTPS;

  3. Cookie的限制大小为4KB左右,对于复杂的存储需求是不够用的。

-----------------------------

Session的定义

Session机制

Cookie和Session的异同

网站应该如何选择呢

  1. Session是保管在服务器端的,每个用户都会产生一个Session。假如并发访问的用户十分多,会产生十分多的Session,耗费大量的内存。并发访问量极高的网站,是不太可能运用Session来追踪客户会话的;

  2. Cookie保管在客户端,不占用服务器资源。假如并发访问的用户十分多,Cookie是很好的选择。

参考资料

  1. 知乎:https://www.zhihu.com/question/19786827

  2. 维基百科:https://zh.wikipedia.org/wiki/Cookie

  3. CSDN:https://blog.csdn.net/yiguang_820/article/details/83031922

上一篇 下一篇

猜你喜欢

热点阅读