资讯专栏INFORMATION COLUMN

聊一聊web开发中的session和cookie

gself / 2013人阅读

摘要:浏览器主要保存服务端发送给用户浏览器和页面调用所设置的小片数据。浏览器在磁盘上保存并且在下一次请求时发送给相同的服务器。也称为会话,包含和两部分,客户端通过记录会话标识,服务端通过会话标识找到对应的。黑客可以通过注入和利用中的信息。

浏览器 cookie 主要保存服务端发送给用户浏览器和页面调用 document.cookie=? 所设置的小片数据。浏览器在磁盘上保存 cookie 并且在下一次请求时发送给相同的服务器。

session(也称为会话),包含 session cookie 和 session content 两部分,客户端通过 session cookie 记录会话标识,服务端通过会话标识找到对应的 session content。

cookie 和 session 的初衷是不同,cookie 最初是普遍使用客户端存储方案,session 最初是想维持用户登录状态。session 巧妙的应用了服务端设置Set-Cookie响应头部的方式和网络请求携带Cookie请求头部的特性。

Cookie的几种应用场景

会话管理
用户登录状态、购物车列表等

个性化设置
用户偏好,用户主题等

跟踪行为
用户行为分析

Cookie的组成部分

我们可以通过控制台查看到应用cookie内容,控制台是以表格形式展示:

name

value

expires
过期时间,如国不设置,默认为Session(浏览器关闭后销毁)

domain
可访问cookie的域名,支持泛域名的配置(例如 .jaylin.wang)

path
可访问cookie的path

httpOnly
是否只允许服务端读取cookie内容

secure
是否加密处理

Cookie使用注意事项

尽量减少 cookie 中的存储数据
由于 cookie 每次会在请求头部,大量的 cookie 数据会导致 http 请求的速度。在现代浏览器中,我们可以首选Web Storage API (localStorage 和 sessionStorge) 和 IndexedDB

不适用 cookie 中保存敏感信息
虽然cookie支持 Secure 和 httpOnly两种模式,但浏览器不敢保证 cookie 绝对安全。黑客可以通过XSS注入和CSRF利用cookie中的信息。

Session的补充

服务端 session 默认是存储在内存之中,但是应用过程中,我们也会使用 mysql、redis、mongodb 等存储方案去持久化 session。

夜以深,这篇对 cookie 和 session 的轻描淡写到此为止吧,希望能给Web入门同学带来帮助,更希望有深入理解的朋友多多交流,good night~~

文章持续更新地址:http://jaylin.wang/2017/sessi...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89631.html

相关文章

  • [一聊系列]一聊前端存储那些事儿

    摘要:如图图顾名思义,,是级别的存储。如笔者写的一篇浅析文章聊一聊百度移动端首页前端速度那些事儿读者们可以尝试使用。 欢迎大家收看聊一聊系列,这一套系列文章,可以帮助前端工程师们了解前端的方方面面(不仅仅是代码):https://segmentfault.com/blog/frontenddriver 在web开发越来越复杂的今天,前端拥有的能力也越来越多。其中最重要的一项莫过于web存储。...

    caige 评论0 收藏0
  • 一聊Cookie(小甜饼),及其涉及到的web安全吧

    摘要:最近在用写自己的博客,发现总是掉到的坑,于是就好好八一八这个小甜饼,没想到居然还说很有意思的,每一个知识点都能拉出一条大鱼,想想自己之前对,简直就是它认识我,我只能叫出他的名字。 最近在用thinkjs写自己的博客,发现总是掉到cookie的坑,于是就好好八一八这个小甜饼,没想到居然还说很有意思的,每一个知识点都能拉出一条大鱼,想想自己之前对cookie,简直就是它认识我,我只能叫出他...

    Donne 评论0 收藏0
  • [一聊系列]一聊WEB前端安全那些事儿

    摘要:所以今天,就和大家一起聊一聊前端的安全那些事儿。我们就聊一聊前端工程师们需要注意的那些安全知识。殊不知,这不仅仅是违反了的标准而已,也同样会被黑客所利用。 欢迎大家收看聊一聊系列,这一套系列文章,可以帮助前端工程师们了解前端的方方面面(不仅仅是代码):https://segmentfault.com/blog... 随着互联网的发达,各种WEB应用也变得越来越复杂,满足了用户的各种需求...

    AZmake 评论0 收藏0
  • 一聊 cookie

    摘要:如我当前打开的网址为,在控制台中我们执行了下面代码查看浏览器面板如下图所示,确实设置成功了,而且属性选项都用了默认值。 咱们不搞一开始就一大堆理论知识介绍,怕把人讲懵了...... 咱们换一个思维方式——从现象看本质,先说说我们看到了什么,再从看到的现象中提出问题,最后深入寻找答案。 我们看到的 cookie 我自己创建了一个网站,网址为http://ppsc.sankuai.com。...

    entner 评论0 收藏0

发表评论

0条评论

gself

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<