HTTP使用指南 | 青训营笔记

51 阅读3分钟

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

常见的HTTP状态码

  • 200:服务器已成功处理请求
  • 301,永久性重定向,表示资源已被分配了新的 URL
  • 302,临时性重定向,表示资源临时被分配了新的 URL
  • 303,表示资源存在另一个URL,用GET方法获取资源
  • 304,(未修改)自从上次请求后,请求网页未修改过。服务器返回此响应时,不会返回网页内容
  • 400(错误请求)服务器不理解请求的语法
  • 401表示发送的请求需要有通过HTTP认证的认证信息
  • 403(禁止)服务器拒绝请求
  • 404(未找到)服务器找不到请求网页
  • 500,(服务器内部错误)服务器遇到错误,无法完成请求
  • 503,表示服务器处于停机维护或超负载,无法处理请求

http和https的区别

1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。

2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。

3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)

http1.0和http1.1和http2.0的区别

http1.1相较http1.0来说:

  1. 实现了长连接,即在一个tcp连接中可以发起多个http请求和响应,减少了建立和关闭连接的消耗,在HTTP1.1中默认开启长连接keep-alive。
  2. 节省带宽,http1.1支持只发送header信息,不带任何body信息。
  3. 新增缓存处理:HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。

http1.1相较http2.0来说:

  1. http2.0实现了多路复用,就是指在一个tcp连接中,可以并发处理多个请求,并发请求的数量比HTTP1.1大了好几个数量级,HTTP1.1也可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的。
  2. http2.0支持头部数据压缩,HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。
  3. http2有服务器主动推送机制:服务器会推送它认为客户端可能需要的资源到客户端的缓存中,以此来避免往返的延迟。
  4. http2采取二进制数据格式而非文本格式