浏览器-【1】Cookie

本文探讨了cookie的基本属性,如HttpOnly属性的作用,以及如何通过Cookie隔离技术减少跨域请求带来的性能影响。了解域限制和安全措施,以及为何避免在请求中携带过多Cookie以提升Web性能。
摘要由CSDN通过智能技术生成

cookie可设置哪些属性?httponly?

     chrome控制台的application下可查看:

     cookie:一般由服务器生成,可以设置过期时间

     存储大小:4K

     与服务端通信:每次都会携带在 header 中,对于请求性能影响

cookie

name字段为一个cookie的名称。
value字段为一个cookie的值。
Domain字段为可以访问此cookie的域名。
Path

字段为可以访问此cookie的页面路径。

 比如 :domain:abc.com, path: /test, // 那么只有/test路径下的页面可以读取此cookie。

expires/Max-Age

字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。

不设置的话默认值是Session,意思是cookie会和session一起失效。

当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。

Size 字段 此cookie大小
HttpOnly

字段 cookie 的 httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能在页面中通过JS 的 document.cookie来访问此cookie。

不能通过 JS 访问 Cookie,减少 XSS 攻击

Secure字段 设置是否只能通过https来传递此条cookie
Same-site规定浏览器不能在跨域请求中携带 Cookie,减少 CSRF 攻击

 Cookie 的弊端 

   1 : Cookie数量和长度的限制, 每个 domain 最多只能有 20 条 cookie;每个cookie大小不超过4k,有有效期,过期后将会删除

       2: 安全性问题: 如果cookie被人拦截了,那拦截者就可以获取到所有 session 信息,即使加密也无事于补, 因为拦截者不需要知道cookie的意义,他只需要原样转发cookie就可以达到目的,

       3: 有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。

 问题思考:

     什么是 Cookie 隔离?(或者说:请求资源的时候不要让它带 Cookie 怎么做)?

  • cookie 隔离技术:则是通过使用多个非主要域名来请求静态文件,那如果静态文件都放在主域名下,那静态文件请求的时候都带有的 cookie 的数据提交给 server 的,非常浪费流量,所以不如隔离开。
  • 因为 cookie 有域的限制,因此不能跨域提交请求,故使用非主要域名的时候,请求头中就不会带有 cookie 数据,这样可以降低请求头的大小,降低请求时间,从而达到降低整体请求延时的目的。
  • 同时这种方式不会将 cookie 传入 Web Server,也减少了 Web Server 对 cookie 的处理分析环节,提高了 webserver 的 http 请求的解析速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值