这是我参与 第五届青训营 伴学笔记创作活动的 第11天
今天总结场景分析中的静态资源和登录:
1.打开chrome
2.输入 www.toutiao.com
3.打开控制台
- 右键->检查
- F12
4.切换到network
场景分析-静态资源
缓存策略是怎样的?
- 强缓存
- Cache-control:一年
还有什么信息吗?
- 允许所有域名访问
- 资源类型: css
静态资源方案:缓存+CDN+文件名hash
- CDN: Content Delivery Network
- 通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务
场景分析-登录
业务场景
- 表单登录
- 扫码登录
技术方式
- sso
我们主要来看表单登录:
- 账号密码登陆
- 打开控制台-network -勾选 preserve log-过滤quick_login
- 观察请求
为什么有options请求:跨域,coress-origin
解决跨域问题的资源方案:
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
跨域解决方案
- CORS
- 代理服务器
- 同源策略是浏览器的安全策略,不是HTTP的
- lframe
- 诸多不便
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)
sso:单点登录(Single Sign On)
2023/1/27 DAY11