http和https的区别已经http各版本的区别

http和https的区别

1 http是明文传输,所以容易有以下三个风险:

  1. 窃听风险 通信内容可以被窃听
  2. 冒充风险 比如冒充钓鱼网站

https在http的基础上采用了SSL/TLS协议,该协议很好的解决了以上三个风险。

  1. https 采用混合加密对信息加密,所以通信内容被窃听了也无法解密。
  2. 校验机制 采用摘要算法为数据生成[指纹],相当于一个id。
  3. 服务器公钥放入到数字证书中。

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主要是以下改进

  1. 采用了头部压缩
  2. 传递的数据用二进制表式取代了文本格式表示,因为计算机只认识二进制,虽然对人的可读性不好,但是2.0的情况下缺少了文本格式转换为二进制格式的步骤,加快了速度。
  3. 数据流,就是每个请求或者回应的所有数据包。
  4. 多路复用,1.1都是一个个请求按照顺序响应,现在2.0可以对一个连接中的多个请求进行并发回应,比如响应请求A的一部分,然后响应请求B的完整部分,再去请求请求A的另一部分。
  5. 服务器推送。1.1只支持客户端向服务端发送请求,2.0支持服务端主动推送消息。

总结:面试中http和http是的区别还是经常考到的,在此记录一下。

经验分享 程序员 微信小程序 职场和发展