HTTP使用指南 | 青训营笔记

84 阅读2分钟

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

初识HTTP

输入url -> browser进程处理输入信息 -> 浏览器内核向服务器发起请求 -> 浏览器内核读取响应 -> 浏览器内核进行渲染 -> browser进程页面加载完成

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

协议分析

QQ截图20220803163345.png

QQ截图20220803165417.png

Safe(安全的):不会修改服务器数据的方法,如读数据 GET、HEAD、OPTIONS等

Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是Idempotent的 如GET、HEAD、OPTIONS、PUT、DELETE等

状态码

200 OK - 客户端请求成功 301 - 资源(网页等)被永久转移到了其它URL 302 - 临时跳转 401 - Unauthorized - 请求未经授权 404 - 请求资源不存在,可能是输入了错误的URL 500 - 服务器内部发生了不可预期的错误 504 Gateway Timeout - 网关或者代理的服务器无法在规定的时间内获得想要的响应

RESTful API

它是一种API设计风格,REST-Representional State Transfer

(1)每一个URI代表一种资源

(2)客户端和服务器之间,传递这种资源的某种表现层

(3)客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”

QQ截图20220803165644.png

QQ截图20220803165716.png

缓存

强缓存

本地有了直接用就好了

Expires(到期时间),时间戳

Cahce-Control

可缓存性

no-cache:协商缓存验证

no-store:不使用任何缓存

public、private等

到期

max-age:单位是秒,存储的最大生存周期,相对于请求的时间

重新验证*重新加载

must-revalidate:一旦资源过期,在成功向原始服务器验证之前,不能使用)

协商缓存

与Server端要通信,再确定要不要用它

Etag/If-None-Match:资源的特定版本的标识符,类似于指纹

Last-Modified/If-Modified-Since:最后的修改时间。(绝对的)

QQ截图20220803165950.png

未完...