关于HTTP/HTTPS协议需要掌握的基础知识点

74 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情


HTTP协议

HTTP状态码以及对应信息

1XX:接收到的信息正在处理

2XX:请求正常处理完毕

3XX:重定向

4XX:客户端出错

5XX:服务端错误

常见错误码:

301:永久重定向

302:临时重定向

400:客户端请求的报文有错误

403:服务器禁止访问资源

404:请求的资源在服务器中不存在或未找到

HTTP版本:

HTTP1.0只能使用短连接,客户端与服务端每进行一次HTTP连接操作,就进行一次TCP连接,连接结束关闭TCP。

HTTP1.1默认使用长链接,在一个TCP请求上可以传送多个HTTP请求与响应。改善了HTTP1.0短链接造成的性能开销。

HTTP2.0 支持多路复用,即同一个连接能并发处理多个请求。引入了二进制数据帧,对数据顺序进行标识,从而可以并行传输数据。

HTTP3.0 把 HTTP 下层的 TCP 协议改成了 UDP(基于 UDP 的 QUIC 协议 可以实现类似 TCP 的可靠性传输)。

HTTP字段

  • Host:客户端发送请求时,指定服务器域名
  • Connection:常用于客户端要求服务器使用HTTP长连接机制
    • Connection:Keep-Alive
  • Content-Length:服务器返回数据时,表明响应数据的长度
  • Content-Type:服务器返回数据时,表明响应数据的格式
    • Connect-Type:text/html; charset=utf-8
  • Content-Encoding:服务器返回数据时,表明响应数据使用了什么压缩格式

HTTPS的连接过程

1.客户端将支持的加密算法发送给服务器(第一次请求)

2.服务器选择一套加密算法,以证书的形式发送给客户端

3.客户端验证证书合法性,生成对称加密的密钥,使用服务器公钥加密后发送给服务器(第二次请求)

4.服务器使用私钥解密获得对称密钥,使用对称密钥对数据加密后发送给客户端

5.客户端使用对称密钥解密后获得数据。