其他分享
首页 > 其他分享> > http1.x,http2.0,https分别介绍以及他们的区别

http1.x,http2.0,https分别介绍以及他们的区别

作者:互联网

一、HTTP/1.x

Http1.x

http1.0

http1.1:

  1. 持久连接

    • 引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,不用声明Connection: keep-alive(对于同一个域名,大多数浏览器允许同时建立6个持久连接)这里常常会问,性能优化,为什么将碎片文件打包成一个,就是因为1.1每次允许6个连接请求。
  2. 管道机制

    • 即在同一个TCP连接里面,客户端可以同时发送多个请求。
  3. 分块传输编码

    • 即服务端没产生一块数据,就发送一块,采用”流模式”而取代”缓存模式”。
  4. 新增请求方式

    • PUT:请求服务器存储一个资源;
    • DELETE:请求服务器删除标识的资源;
    • OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求;
    • TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断;
    • CONNECT:保留将来使用

二、HTTP/2.0

1. 二进制协议

2. 完全多路复用

3. 报头压缩

4. 服务器推送

三、HTTPS

1、HTTPS主要作用

- (1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;
- (2)对网站服务器进行真实身份认证。

2、HTTPS和HTTP的区别

- 1、HTTPS是加密传输协议,HTTP是名文传输协议;
- 2、HTTPS需要用到SSL证书,而HTTP不用;
- 3、HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO,
- 4、 HTTPS标准端口443,HTTP标准端口80;
- 5、 HTTPS基于传输层,HTTP基于应用层;

3、HTTPS和HTTP的工作过程区别

3、HTTPS加密方式

 

补充延伸:面试相关 什么是https协议?

程序员经典面试题,请讲解一下hps协议。


很人上来就搞错了,要么回答https协议握手过程,或者说跟http区别就是安全啥的。

要知道面试官真正想问什么?他其实想考察你的基础知识,要知道,面试过程中,基础知识是最重要的。

 

这里考察你两个基础知识:

1、https协议的常识

2、如何设计一个安全的通信协议以及背后的密码学算法

 

只有回答了以上两点,才算是通过了。我们来看看如何回答。

Htps协议就是基于tsl的htt协议,tsl是个应用层衔接,是安全协议层,它解决了通信过程中的安全问题。安全问题第二要解释,为什么要有https,协议目的是为了防范中间人攻击,中间人可以窃取、篡改消息来达到破坏系统的目的。

 

那https协议是怎么做的呢?

 

 

首先它会把消息进行加密,运用到一个对称加密算法,双方使用同一个密钥对消息进行加密和解密,这样中间人就无法知道你在发送什么数据,常见的对称加密算法有aes,一旦你使用到对称加密算法,就涉及到一个密钥交换的问题,如果直接明文发送密钥会被中间人窃取进行解密以后发送信息,所以这时候就涉及到利用非对称加密进行密钥交换,发送方使用公开的公钥,发送方使用公开的接收方的公钥加密数据,然后将信息发送过去,接收方可以利用自己的私钥来解密,这样就避免了密钥在数据传输中明文交换。

 

我们为什么需要对称加密算法?

因为对称加密性能要好一些。

 

 

 

这时候中间人就没有办法吗?其实还是有办法的,中间人还可以给发送方发送一个假的密钥来窃取信息,所以我们需要一套机制来验证公钥是不是就是接收方的。这时候就要引入证书体系,证书体系涉及到两个知识点,第一个知识点是非对称加密算法的验签功能,第二知识点是,证书链。

 

首先签名者会使用自己的私钥加密数据,验签者就可以使用公开的公钥来去验签,而在你的电脑中已经提前内置好了一些权威机构的证书,这些证书就是这些权威机构的公钥,这些公钥是绝对可信的,所有网站的公钥必须要有权威机构来颁发,你可以用权威机构的公钥去验证它。如果你电脑上没有这个权威机构的公钥,你就要去找权威机构的权威机构去验证权威机构的公钥,来验证这个网站的目标。

 

以上就解决了加密的问题,接下来还有只要校验消息的完整性,你可以用哈希算法,比如说MD5等,为了防止重放攻击,你还要使用到序列号机制。

 

这些讲完以后,从这道题就算回答完整,回答正确,注意以上的要点,你的术语一定要准确,非对称加密,公钥,私钥不要搞混,我就见过有的小朋友上来就给我讲一个MD5加密,我之后就问问他怎么解密,然后他就开始乱讲,所以术语一定要搞懂搞准。

 

其他网络知识链接:

MVVM前后端分离:web接口规范 (后端返回的请求包,包括什么内容)

一文读懂计算机底层网络原理,包括TCP、UDP、header,什么是包、帧、段等关键问题(握手挥手)

多路复用是指两个或多个用户共享公用信道的一种机制。通过多路复用技术,多个终端能共享一条高速信道,从而达到节省信道资源的目的,多路复用有频分多路复用(FDMA),时分多路复用(TDMA),码分多路复用(CDMA)几种。”

标签:公钥,加密,请求,多路复用,TCP,http1,https,HTTP,http2.0
来源: https://www.cnblogs.com/youqiancheng/p/15837025.html