什么是HTTP和HTTPS?
HTTP是浏览器与服务器之间以明文的方式传送内容的一种互联网通信协议。
HTTPS是在HTTP的基础上结合SSL/TLS加密协议,客户端依靠证书验证服务器身份传递加密信息的通信协议。
1991年 HTTP/0.9 仅支持GET请求,不支持请求头
1996年 HTTP/1.0 默认短连接(一次请求建议一次TCP连接,请求完就断开),支持GET、POST、 HEAD请求
1999年 HTTP/1.1 默认长连接(一次TCP连接可以多次请求);支持PUT、DELETE、PATCH等六种请求
增加host头,支持虚拟主机;支持断点续传功能
2015年 HTTP/2.0 多路复用(一次TCP连接可以处理多个请求);服务器推送(相关资源一个请求全部推送)
HTTP/1.X解析基于文本,HTTP/2.0解析基于二进制;首部压缩,提供传输效率
HTTPS请求过程:(一次HTTPS请求要进行两次HTTP传输)
1.客户端发出https请求,请求服务端建立SSL连接;
2.服务端收到https请求,申请或自制数字证书,得到共要和服务端私钥,并将公钥发送给客户端;
3.客户端验证公钥,不通过验证则发出警告,通过验证则产生一个随机数,也就是客户端私钥;
4.客户端将公钥与客户端私钥进行对称加密后传给服务端;
5.服务端收到加密内容后,通过服务端私钥进行非对称解密,得到客户端私钥;
6.服务端将客户端私钥和内容进行对称加密,并将加密内容发送给客户端;
7.客户端收到加密内容后,通过客户端私钥进行对称解密,得到内容。
HTTPS怎么校验证书的有效性?
1.公钥锁定
2.证书锁定
原文:https://www.cnblogs.com/surui/p/11669346.html