[HTTP协议 | 青训营笔记]
[HTTP协议 | 青训营笔记]
HTTP状态码
- 1XX:信息状态码
100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
- 2XX:成功状态码
200 OK 正常返回信息
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
- 3XX:重定向
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。
304 Not Modified 自从上次请求后,请求的网页未修改过。
- 4XX:客户端错误
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
- 5XX:服务器错误
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)
HTTP 1.0和1.1和2.0的区别
HTTP 1.0
- 最基础的
http协议
- 支持基本的
GET POST请求
HTTP 1.1
- 缓存策略加了:
cache-control E-tag
- 支持长链接:
keep-alive支持在同一个TCP连接上发送多个请求和响应
- 断点续传,
206
- 支持新的请求:
PUT DELETE 等
HTTP 2.0
- HPACK算法(头部压缩),可以对
header进行压缩,减少体积
- 多路复用,一个tcp连接上可以同时并发多个请求和响应(和1.1还是不一样)
- 服务端推送
- 二进制协议:取代了
HTTP 1.1的文本协议,通信更加高效、减少了解析的复杂性
- 流量控制:可以根据网络带宽动态分配传输资源,有效地避免了网络拥塞的问题
- 请求优先级:可以根据请求的重要性和优先级,对请求进行合理的排队和调度,保证重要的请求优先处理