cookie注意事项

cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。

 

四种会话跟踪技术(URL重写、隐藏表单域、Cookie、Session)

服务端技术:URL重写,Session,Cookie。

客户端技术:Cookie,隐藏表单域。

 

 

 

web2.0应用趋势是动态页面加载,通过Session或URL重写识别用户,保存用户状态。

web3.0应用趋势是前后端分离,通过基于cookie的token识别用户,获取用户状态。

PS:token建议存放在cookies,而不要存放在LocalStorage 和 SessionStorage。

        原因:LocalStorage 和 SessionStorage可以被js读取,而cookies 可以设置httponly 和secure 属性,提高鉴权机制安全性。

 

cookie的特点

同域,默认带请求凭据(cookie)

跨域,默认不带请求凭据(cookie)

 

session-cookie,关闭浏览器会删除,会话结束或者会话超时就删除。

cookie,关闭浏览器不会被删除,除非设置了expires/Max-Age,或者是浏览器清除cookies。

 

PS:防止cookie被篡改。

        建议给cookie生成一个签名。

PS: 如果允许请求带cookies,会把所有的请求(图片,音视频,css,js)等资源都会发送cookies,从而降低了页面性能。

       为此要使用CDN静态部署资源,避免静态资源请求发送cookie,提高请求的效率,节省请求带宽。

PS:跨域请求带cookies 

        实现:前端页面添加一个隐藏跨域iframe。

        后端设置 Access-Control-Allow-Credentials: true。

                      Access-Control-Allow-Origin: *    (这里注意使用通配符可能会报错)

                      应该为: Access-Control-Allow-Origin: "http://xxxx.com" 

 

补充:关于客户端(浏览器)cookies限制问题。

          IE无法使用cookie,原因是系统限制cookie。(出现这类情况可能使用系统优化软件导致)

          

 

转载于:https://www.cnblogs.com/Sroot/p/8579272.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值