跳过Set-Cookie
什么是cookie
HTTP协议默认是无状态的,每一次的请求都是独立事件,cookie是从网站发送并存储在客户端浏览器中的一小段数据,支持网站记住有状态信息(如购物车中添加的商品)和/或记录客户端浏览活动(如登录)的机制。
什么是Set-Cookie
Set-Cookie是http协议中报头字段的一段分,用于Web服务器和客户端之间传输HTTP cookie信息。其中可以设置一些属性值,Set-Cookie头的语法如下:
Set-Cookie: name=value; expires=date; path=path; domian-domain; secure
参数 | 说明 |
---|---|
name | 必需。规定cookie的名称。 |
value | 必需。规定cookie的值。 |
expire | 可选。规定cookie的有效期。 |
path | 可选。规定cookie的服务器路径。 |
domain | 可选。规定cookie的域名。 |
secure | 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。 |
了解原理
运用到CDN的缓存Set-Cookie功能的开启和关闭时,我们首先需要了解Set-Cookie的运用原型。我们以登录一个站点的过程为例子。
当我们登录网站时
●输入账号密码等,这些数据会跟随请求一同发过去。
服务器接搜请求
●提取用户信息。
●完成用户认证,将重定向跳转到登录状态下的页面。
●此时,也会将输入的数据填充到 Set-Cookie字段中,发回客户端。
当浏览器收到服务器发回的响应
●浏览器会在内部的cookie文件中保存字段里的数据,Set-Cookie的作用相当于是命令客户端将携带的字段写入cookie中。
当再次访问网站时
●自动将cookie文件中的数据填充到请求中,无需再次手动输入。
LightCDN 跳过Set-Cookie 开启或关闭选项
如上所述,在某些情况下,在提供HTML文件时,将Set-Cookie标头添加到某些响应中是有意义的。通常,在提供图像、CSS和JavaScript等静态资源时,将Set-Cookie标头添加到响应中没有多大意义。因此,如果你想将它们用作CDN服务的来源,那么你需要指示CDN缓存包含Set-Cookie标头的响应。
跳过Set-Cookie功能通常是默认开启,即Set-Cookie不缓存;若关闭跳过Set-Cookie,则意味着来自CDN服务的响应将包含Set-Cookie标头,这将会重复使用相同的响应,以登录站点为例,这可能将导致不同的客户将访问你同一账号。