360前端星计划——前端常用的HTTP知识

317 阅读1分钟

HTTP在浏览器网络中的位置

如何在控制台中查看HTTP协议的版本?

  1. HTTP请求/响应 起始行中带有协议版本
  2. 控制台每条请求的Protocol属性(http/1.1 h2)

常用的请求类型

状态码

常用状态码

101:HTTP—> Websokcet
200:成功
206:返回部分内容
301:永久重定向
302:临时重定向 304:协商缓存
400:错误请求
403:服务器禁止访问该资源(比如是法律信息、信息敏感)
404:找不到该资源
413:请求实体过大(eg:上传的文件太大)
500: 服务器内部错误
502:访问出错
503:服务器当前很忙,无法响应

URL

Cookie

cookie如果越来越大怎么办?
只存储一些必要的信息

cookie的安全策略

  • path
  • domain
  • expires
  • secure
  • httponly
  • samesite

常见的几种提交的数据类型:

  • application/x-www-form-urlencoded
  • multipart/form-data
  • application/json
  • text/xml

性能优化:

  • keep-alive
  • 减少网络传输大小
  • 缓存
  • http2/http3
  1. keep-alive:

  2. 减少网络传输大小
    开启压缩,gzip等
    一般压缩文本资源
    大约减少60%

  3. 缓存

304:只返回响应头,没有对应的实体内容,实体内容从缓存里面读取

与之相关的两个头信息:

  • Last-Modified
  • Etag(HTTP1.1引入)

Last-Modified存在的问题:
日期服务端可能是不准的

Last-Modified协商缓存
Expires强制缓存 (日期) ==>升级为cache-control(解决了expires日期的问题)

  • localStorage
  • ServiceWorker
    能够拦截请求

HTTP2/3

  1. HTTP2
  • 二进制传输
  • 多路复用
  • 头部压缩
  • server push
  1. HTTP3
    基于QUIC协议(UDP)

HTTP抓包和发包工具