HTTP 协议的应用场景分析 | 青训营协议

101 阅读2分钟

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


一、本堂课重点内容:

  • (一)场景分析 - 静态资源
  • (二)场景分析 - 登录

二、详细知识点介绍:
这次的学习主要是对HTTP协议的应用场景进行分析,既然是应用场景,那就必须得是真实场景了,所以接下来的知识点将会围绕着“今日头条”这个真实场景进行解析说明

预备工作:

  • 1.打开Chrome
  • 2.输入www.toutiao.com
  • 3.打开控制台
    (右键->检查/F12 )
  • 4.切换到nerwork

  • (一)场景分析 - 静态资源

image.png

问题:状态码200,一定发起了请求吗?
不一定哈。因为从图片中可以看出,Status Code 数字后面有括号注释是“form disk cache”,所以就说明这是从本地拿到的资源,并没有进行网络请求

那么缓存策略是怎么样的呢?
image.png

从上方图片可以看出,静态资源是强缓存的,并且Cache-control换算过后是一年

从上方图片中还可以看出什么信息呢?

  • 图片中第一行是:access-control-allow-origin:* (这个协议头就代表访问控制,* 就是表示任意来源都可以访问)
  • 资源类型是:css

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

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

image.png

  • (二)场景分析 - 登录 预备工作:
  • 1.账号密码登录
  • 2.打开控制台-network-勾选preserve log - 过滤quick_login
  • 3.观察请求

image.png

那这两个请求有啥区别呢?--两个请求的Menthod是不一样的

  • 第一个请求:
    第一个请求的Menthod是options请求,主要是因为下方有一个Referrer Policy是“strict-origin-when-cross-origin”这是跨域的,所以才会有options请求

image.png

跨域

image.png

跨域解决方案就是:

  • CORS
  • 代理服务器(同源策略是浏览器的安全策略,不是HTTP的)
  • Iframe

image.png

发出请求时,携带了哪些信息,返回了哪些信息

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

三、课后个人总结:

  • 本章有什么知识点不容易掌握?
    我觉得本章最不容易掌握的知识点就是跨域那个方面的知识,还有CDN学的时候也是非常懵的