请问浏览器是如何区别会话cookie和普通cookie的?

Salamander
  • 6.6k

这是firebug的选项:
图片描述

评论
阅读 3k
4 个回答

可以看看这篇文章

什么是 cookie? 会话 cookie 与持久性 cookie 之间 有何区别?

可以从文章中看出:
(1)如果 cookie 不包含到期日期,则可视为会话 cookie。 会话 cookie 存储在内存中,决不会写入磁盘。 当浏览器关闭时,cookie 将从此永久丢失。
(2)如果 cookie 包含到期日期,则可视为持久性 cookie。 在指定的到期日期,cookie 将从磁盘中删除。

会话cookie = 关浏览器时删除的cookie

和后端讲的session不是一个东西

1.Http是无状态的,后端要区分请求的Http属于谁的,使用Session(会话)技术,就用了Cookie技术让浏览器在请求的时候携带一个标识cookie,这个值是唯一的,在服务器那边可以通过这个cookie的值拿到你的session,然后就可以区别相关信息了,比如在session中存储了你的用户信息,请求时携带了这个cookie,后端就可以拿到session,然后从中取出你的用户信息
2.这个cookie一般不设置过期时间
3.一般为了安全性,这个cookie有HttpOnly属性,防止js修改值,然后做一些坏事
4.一般会话Cookie的名称常见是session某某,例如:tomcat默认cookie名为SESSIONID;这个名称是可以修改的,具体可以开发者工具调试查看cookie,一般名称比较有规律

会话cookie也是cookie,只不过它是关闭浏览器就过期的cookie,也就是你重启浏览器后,上一次的会话cookie就没有了.你在服务器端把cookie的过期时间设为0,那它就是一个会话cookie.比如PHP会话默认的cookie(默认名字为PHPSESSID)就是一个会话cookie,因为php.ini里session.cookie_lifetime默认是0,也就是关闭浏览器时cookie失效.

宣传栏