http和https的区别已经http各版本的区别
http和https的区别
1 http是明文传输,所以容易有以下三个风险:
- 窃听风险 通信内容可以被窃听
- 冒充风险 比如冒充钓鱼网站
https在http的基础上采用了SSL/TLS协议,该协议很好的解决了以上三个风险。
- https 采用混合加密对信息加密,所以通信内容被窃听了也无法解密。
- 校验机制 采用摘要算法为数据生成[指纹],相当于一个id。
- 服务器公钥放入到数字证书中。
2 http的连接相对简单,只需要tcp三次握手即可建立连接,而https在三次握手之后需要进行SSL/TLS的握手过程。
3 端口号不同,http的端口号是80,https的端口号是443 4 https需要申请数字证书。
http各版本的区别
http主要有1.0, 1.1, 2以及3的版本
1.1相对于1.0主要是以下改进
-
采用长连接方式取代短连接,所谓的长连接就是传输数据的时候只需要建立一次tcp连接,不需要为每次传输信息建立一个新的tcp连接。 支持流水线传输,即可以连续发送请求而不必等待前一个请求的响应再发送该请求。
2.0相当于1.1主要是以下改进
- 采用了头部压缩
- 传递的数据用二进制表式取代了文本格式表示,因为计算机只认识二进制,虽然对人的可读性不好,但是2.0的情况下缺少了文本格式转换为二进制格式的步骤,加快了速度。
- 数据流,就是每个请求或者回应的所有数据包。
- 多路复用,1.1都是一个个请求按照顺序响应,现在2.0可以对一个连接中的多个请求进行并发回应,比如响应请求A的一部分,然后响应请求B的完整部分,再去请求请求A的另一部分。
- 服务器推送。1.1只支持客户端向服务端发送请求,2.0支持服务端主动推送消息。
总结:面试中http和http是的区别还是经常考到的,在此记录一下。