专栏首页前端真相浏览器存储之cookie

浏览器存储之cookie

1.起源

服务端需要知道访问者的登录状态用来区分不同用户,但HTTP是无状态协议,没法保存访问者登录状态。

为啥当初HTTP不设计成有状态的协议?因为没考虑到呗,虽然是设计者大神,但难免有局限性。

2.生成方式

服务端可以通过set-cookie形式返回,并由客户端存储,通过某种编程语言即可实现,比如Java。这样用户登录后,再次发送HTTP请求时,就可以将cookie放在HTTP请求中发送给服务端,服务端用以区别不同用户。

3.重点

(1)设计cookie的初衷是为了维护用户信息,不是为了存储。

(2)cookie可存储大小为4kb,作为存储,空间偏下。

(3)属性httponly。不支持JavaScript读写。

(4)属性expire,即有效期。就像我们日常生活中,很多物品是存在有效期的。技术用于生活,源于生活。

(5)所有同一域名的请求都会带有请求,但实际上服务端并不需要所有请求都带有cookie,比如浏览商品信息页面。

因此,这就造成CDN(访问图片等静态文件)的流量损耗。解决方法:CDN和主站域名保持不同。这样做的好处是节省经济成本,潜在好处是由于请求中少了cookie而提高了访问速度。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • cookie 与 session区别与用法

    如果客户端浏览器将Cookie功能禁用,或者不支持Cookie怎么办?例如,绝大多数的手机浏览器都不支持Cookie。Java Web提供了另一种解决方案:UR...

    城市中的游牧民族
  • web应用常见安全攻击手段

    JS注入 解决方法:HTML编码 如:<%=Html.Encode(feedback.Message)%> HTML5引入的新标签包括、、、

    城市中的游牧民族
  • 抽象和离散

    城市中的游牧民族
  • Fiori Elements objectPage component creation ui JSON model creation oModel.getMetaModel().load

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rTLETaoG-1576029053712)(https://user-im...

    Jerry Wang
  • 【swift学习笔记】六.访facebook登录页面

    代码最下边有下载地址。 做这个demo的主要心得就是自适应所有的屏幕,要先布局大的框架,再一步一步设置小的细节。 看一下效果 ? 再看一下自动适应所有屏幕的效果...

    lpxxn
  • ASP.NET Web API路由系统:路由系统的几个核心类型

    虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集Syste...

    蒋金楠
  • Cookie深度解析

    最近在公司做了Web端单点登录(SSO)功能,基于Cookie实现,做完之后感觉有必要总结一下,本文着重讲解Cookie,下文会说明单点登录的实现方...

    高爽
  • DotNetCore Web应用程序中的Cookie管理

    作者简介:Jon(Jonathan)Seeley,一位资深.NET开发者,主要从事Asp.NET/Asp.NET CORE/WPF等技术栈的开发,他的博客地址为...

    心莱科技雪雁
  • 基于Cookie+Redis+Filter实现Tomcat集群Session共享

    用户登录之后,将Session Id和用户信息存储到Redis中,并添加一个Cookie,将该Session Id带到客户端。当发起其他请求之后,携带该Cook...

    用户1289394
  • 超越Cookie,当今的客户端数据存储技术有哪些

    当 cookie 被首次引入时,它是浏览器保存数据的唯一方式。之后又有了很多新的选择:Web Storage API、IndexedDB 和 Cache API...

    德顺

扫码关注云+社区

领取腾讯云代金券