Cookie

Session

jwt(json web token)

面试题

cookie、sessionStorage、localStorage 的区别

参考答案:

  1. cookiesessionStoragelocalStorage 都是保存本地数据的方式,其中 cookie 兼容性较好,所有浏览器均支持;
  2. 浏览器针对 cookie 会有一些默认行为:
    1. 比如当响应头中出现 set-cookie 字段时,浏览器会自动保存 cookie 的值;
    2. 再比如,浏览器发送请求时,会附带匹配的 cookie 到请求头中;
    3. 这些默认行为,使得 cookie 长期以来担任着维持登录状态的责任;
    4. 与此同时,也正是因为浏览器的默认行为,给了恶意攻击者可乘之机,CSRF 攻击就是一个典型的利用 cookie 的攻击方式;虽然 cookie 不断的改进,但前端仍然需要另一种更加安全的保存数据的方式;
  3. HTML5 新增了 sessionStoragelocalStorage ,前者用于保存 会话级别 的数据,后者用于 更持久 的保存数据;浏览器针对它们没有任何默认行为,这样一来,就把保存数据、读取数据的工作交给了前端开发者,这就让恶意攻击者难以针对登录状态进行攻击;
  4. cookie 的大小是有限制的,一般浏览器会限制同一个域下的 cookie 总量为 4M ,而 sessionStoragelocalStorage 则没有限制;
  5. cookie 会与 domainpath 关联,而 sessionStoragelocalStorage 只与 domain 关联;

XSS(跨站脚本攻击)是指攻击者在返回的 HTML 中嵌入 javascript 脚本,为了减轻这些攻击,需要在 HTTP 头部配上 set-cookie

  1. httponly 这个属性可以防止 XSS ,它会禁止 javascript 脚本来访问 cookie
  2. secure 这个属性告诉浏览器仅在请求为 https 的时候发送 cookie

一句话概括 restful

就是用 URL 定位资源,用 HTTP 描述操作;

打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. Cookie
  2. 2. Session
  3. 3. jwt(json web token)
  4. 4. 面试题
    1. 4.1. cookie、sessionStorage、localStorage 的区别
    2. 4.2. Cookie 如何防范 XSS 攻击
    3. 4.3. 一句话概括 restful