HTTP | 青训营笔记

50 阅读1分钟

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

HTTP

初识HTTP

  • Hyper Text Transfer Protocol 超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求 响应
  • 简单可扩展
  • 无状态

协议分析

  • 发展 image.png
  • 报文 image.png

image.png

image.png 常用请求头

  • Accept 接收类型,表示浏览器支持的MIME类型(对标服务器端返回的Content-Type)
  • Content-Type 客户端发送出去实体内容的类型
  • Cache-Control 指定请求和响应遵循的缓存机制,如no-cache
  • Expires 缓存控制,在这个时间内不会请求,直接使用缓存,服务器时间
  • Max-age 代表资源在本地缓存多少秒,有效时间内不会请求,而是使用缓存
  • Cookie 有cookie并且同域访问时会自动带上 常用响应头
  • Content-Type 服务器返回的实体内容的类型
  • Cache-Control 指定请求和响应遵循的缓存机制,如no-cache
  • Expires 应该在什么时候认为文档已经过期,从而不再缓存它
  • Max-age 客户端的本地资源应该缓存多少秒,开启了Cache-Control后有效

image.png

常见场景

  • 静态资源:缓存+CDN+文件名hash
  • 跨域解决方案:
    • CORS
    • 代理服务器
    • Iframe

实际应用

浏览器篇 AJAX-Fetch

  • XMLHttpRequest的升级版
  • 使用Promise
  • 模块化设计
  • 通过数据流处理对象,支持分块读取 node篇 标准库:HTTP/HTTPS
  • 默认模板,无需安装其他依赖
  • 功能有限/不是十分友好 常用请求库:axios
  • 支持浏览器、nodejs环境
  • 丰富的拦截器 用户体验

image.png

image.png