HTTP 协议应用场景及实战分析| 青训营笔记

117 阅读2分钟

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

  • 在浏览器页面中可以通过右击检查或者按F12快捷键来切换到network页面
  • network-CSS-状态码 观察是否发出请求
  • 可以用来查看缓存类型、缓存策略、携带资源类型、允许访问的类型、
静态资源方案:缓存+CDN+文件名hash
  • CDN : Content Delivery Network
  • 通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务
表单登录
  • 账号密码登陆
  • 打开控制台 -network -勾选 preservelog 过滤quick login
  • Request Method:OPTIONS 跨域请求
  • 域名:scheme(协议)+host name(主机名)+port (端口) 任一不同都是跨域
跨域解决方案
  1. CORS
  • 预请求:获知服务端是否允许该跨源请求(复杂请求)

相关协议头

  • Access-ControlAllow-OriginAccess-ControlExpose-Headers
  • Access-Contro-Max-Age
  • Access-ControlAllow-Credentials
  • Access-Control-Allow-Methods
  • Access-Control-Allow-Headers
  • Access-ControlRequest-MethodAccess-ControlRequest-Headers
  • Origin

2 . 代理服务器

  • 同源策略是浏览器的安全策略,不是HTTP的,解决本地调试的一些问题。
  1. Iframe
SSO 单点登录

- 在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。

  • 当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理。
标准库: HTTP/HTTPS
  • 默认模块,无需安装其他依赖功能有限/不是十分友好
  • 常用的请求库: axios
  • 支持浏览器、nodejs环境丰富的拦截器
稳定性
  • 重试是保证稳定的有效手段,但要防止加剧恶劣情况
  • 缓存合理使用,作为最后一道防线
QUIC:Quick UDP Internet Connection
  • 0-RTT 建联(首次建联除外)
  • 类似TCP的可靠传输。
  • 类似TLS的加密传输,支持完美前向安全。
  • 用户空间的拥塞控制,最新的BBR算法
  • 支持h2的基于流的多路复用,但没有TCP的HOL问题。
  • 前向纠错FEC
  • 类似MPTCP的Connection migration。