计算机网络总结(2)——Cookie与 Session 的区别

时间:2019-02-16
本文章向大家介绍计算机网络总结(2)——Cookie与 Session 的区别,主要包括计算机网络总结(2)——Cookie与 Session 的区别使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

举个栗子

栗子一: 发送顾客一张卡片,上面记录着消费的数量,一般还有一个有效期限。每次消费时,若顾客出示这张卡片,则此次消费就会与以前或者以后相连接起来。这种做法就是在客户端保持状态

栗子二:发给顾客一张会员卡。除了卡号之外什么信息都没有记录。每次消费时,若顾客出示该卡片,则店员在店里的记录本上找到这个卡号对应的记录添加一些消费信息。这种做法就是在服务端保持状态

由于HTTP协议是无状态的,而处于种种考虑也不希望使之成为有状态的。因此,后面两种方案就成为现实的选择。具体来说:

  • Cookie机制采用的是客户端保持状态的方案;
  • Session机制采用的是在服务端保持状态的方案。

同时,我们也看到,由于采用服务端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助 cookie机制来达到保存标识的目的。

Cookie

当你在浏览网站的时候,WEB服务器会先送一个小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些信息都记录下来,当你下次再访问同一个网站的时候,WEB服务器会先看看有没有它上次留下来的cookie资料,如果有的话,就依据之前的cookie来给你提供网页。

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

会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。如果设置了过期时间,浏览器就会把 cookie保存到硬盘上,关闭之后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进城之间共享,比如两个IE窗口。而对于保存在内存中的cookie,不同的浏览器有不同的处理方式。