持续创作,加速成长!这是我参与「掘金日新计划 · 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.客户端使用对称密钥解密后获得数据。