客户端存储cookie详解

HTTP cookie通常也叫作cookie,最初用于在客户端存储会话信息。这个规范要求服务器在响应HTTP请求时,通过发送Set-Cookie HTTP头部包含会话信息。

这些发送回服务器的额外信息可用于唯一标识发送请求的客户端。

1. 限制

cookie是与特定域绑定的。设置cookie后,它会与请求一起发送到创建它的域。这个限制能保证cookie中存储的信息只对被认可的接收者开放,不被其他域访问。

因为cookie存储在客户端机器上,所以为保证它不会被恶意利用,浏览器会施加限制。同时,cookie也不会占用太多磁盘空间。

只要遵守以下大致的限制,就不会在任何浏览器中碰到问题:

  • 不超过 300 个cookie
  • 每个cookie不超过 4096 字节
  • 每个域不超过 20 个cookie
  • 每个域不超过 81920 字节

如果cookie总数超过了单个域的上限,浏览器就会删除之前设置的cookie

2. 构成

cookie在浏览器中是由以下参数构成的:

  • 名称

    cookie名称不区分大小写。必须经过URL编码。

  • 必须经过URL编码。

  • cookie有效的域。

  • 路径

    请求URL中包含这个路径才会把cookie发送到服务器。

  • 过期时间

    默认情况下, 浏览器会话结束后会删除所有cookie。不过,也可以设置删除cookie的时间。把过期时间设置为过去的时间会立即删除cookie

  • 安全标志

    设置之后,只在使用SSL安全连接的情况下才会把cookie发送到服务器。

但是,路径过期时间安全标志用于告诉浏览器什么情况下应该在请求中包含cookie。 这些参数并不会随请求发送给服务器,实际发送的只有cookie的名称、值。

3. 子cookie

为绕过浏览器对每个域cookie数的限制,有些开发者提出了子cookie的概念。

cookie是使用cookie的值在单个cookie中存储多个名/值对。

4. 注意事项

因为所有cookie都会作为请求头部由浏览器发送给服务器,所以在cookie中保存大量信息可能会影响特定域浏览器请求的性能。保存的cookie越大,请求完成的时间就越长。

另外,不要在cookie中存储重要或敏感的信息。


欢迎在我的博客上访问:
https://lzxjack.top/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火星飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值