转载: https://www.cisco.com/c/en/us/products/collateral/security/web-security-appliance/cn/117925-technote-csc-00.html
有 2 种不同类型的 cookie:会话 cookie 和持久性 cookie
简介
本文将介绍什么是 HTTP cookie,以及会话 cookie 与持久性 cookie 之间的区别。
背景信息
Cookie 是 Web 服务器发送到浏览器的数据字符串。 当浏览器在将来请求来自同一个域的对象时,该浏览器会将同一日期字符串发送回原始服务器。
该数据以一个称为“Set-Cookie”的 HTTP 报头格式从 Web 服务器发出。 浏览器以称为“Cookie”的 HTTP 报头格式将 cookie 发送回服务器。
以下是 HTTP cookie 事务处理的示例:来自 Web 服务器的 HTTP 响应:
[...]
Set-Cookie: first.lastname
来自客户端的 HTTP GET:
[...]
Cookie: first.lastname
在上述示例事务中,Web 服务器要求客户端创建 cookie“first.lastname”。 客户端在下次请求来自此域的对象时,会在请求中发送该 cookie。 这说明了 Web 服务器能够如何恢复某些信息(如用户登录信息)。
有 2 种不同类型的 cookie:会话 cookie 和持久性 cookie
如果 cookie 不包含到期日期,则可视为会话 cookie。 会话 cookie 存储在内存中,决不会写入磁盘。 当浏览器关闭时,cookie 将从此永久丢失。
如果 cookie 包含到期日期,则可视为持久性 cookie。 在指定的到期日期,cookie 将从磁盘中删除。
cookie 可以包含多个不同的字段,并用分号隔开。 定义如下:
到期:
expires="Wdy, DD−Mon−YYYY HH:MM:SS GMT" 确定 cookie 的删除日期。
路径:
path=/
确定返回 cookie 时采用的路径。 在本示例中,当转到域中的根路径时,将发送 cookie。
域名
domain=whatever.domain.com
指定使用 cookie 的域。 如果此域与当前正在浏览的域不匹配,则可视为“第三方 cookie”,将被浏览器拒绝。 这可以防止一个域针对不同域设置一个 cookie。
更新日期:2014 年 7 月 15 日 文档编号:117925