HTTP(2) | 青训营笔记

52 阅读2分钟

这是我参与  第五届青训营  伴学笔记创作活动的  第11天

今天总结场景分析中的静态资源和登录:

1.打开chrome

2.输入 www.toutiao.com

3.打开控制台

  • 右键->检查
  • F12

4.切换到network

场景分析-静态资源

缓存策略是怎样的?

  • 强缓存
  • Cache-control:一年

还有什么信息吗?

  • 允许所有域名访问
  • 资源类型: css

静态资源方案:缓存+CDN+文件名hash

  • CDN: Content Delivery Network
  • 通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务

image.png

场景分析-登录

image.png

业务场景

  • 表单登录
  • 扫码登录

技术方式

  • sso

我们主要来看表单登录:

image.png

  • 账号密码登陆
  • 打开控制台-network -勾选 preserve log-过滤quick_login
  • 观察请求

image.png

为什么有options请求:跨域,coress-origin

image.png

解决跨域问题的资源方案:

CORS ( Cross-Origin Resource sharing )

  • 预请求:获知服务端是否允许该跨源请求(复杂请求)
  • 相关协议头
    • Access-Control-Allow-Origin
    • Access-Control-Expose-Headers
    • Access-Control-Max-Age
    • Access-Control-Allow-Credentials
    • Access-Control-Allow-Methods
    • Access-Control-Allow-Headers
    • Access-Control-Request-Method
    • Access-Control-Request-Headers
    • Origin

image.png

跨域解决方案

  • CORS
  • 代理服务器
    • 同源策略是浏览器的安全策略,不是HTTP的
  • lframe
    • 诸多不便

image.png

image.png

Q1 向什么地址做了什么动作?

  • 使用POST方法
  • 目标域名https: llsso.toutiao.com
  • 目标path lquick_login/v21

Q2携带了哪些信息,返回了哪些信息?

  • 携带信息
    • Post body,数据格式为form
    • 希望获取的数据格式为json
    • 已有的cookie
  • 返回信息
    • 数据格式json
    • 种cookie的信息

鉴权

适合使用jwt的场景:

  • 有效期短
  • 只希望被使用一次

比如,用户注删后发一封的件让其激活账户,通常邮件中需要有一个错接,这个链接需要具备以下的特性:能够标识用户,该连接具有时效性(通常只允许几小时之内激活),不能被篡改建激活其他可能的账户,一次性的。这种场景就适合使用jwt。 而由于jwt具有一次的特性。单点疑录和会低若普理非常不适合用jwt,如果在形务销揣的署舒外的逻辑存储jwt的状态,那还不如使用session,基于session有很多成幕的框染可以开箱即用,但是用jwt还要自己实现逻辑。

  • Session + cookie
  • JWT (JSON web token)

image.png

sso:单点登录(Single Sign On)

image.png

2023/1/27 DAY11