HTTP和HTTPS的区别和扩展

39 阅读4分钟
一、HTTP和HTTPS的基本概念

HTTP:超文本传输协议是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。它可以使浏览器更加高效。HTTP 协议是以明文方式发送信息的,如果黑客截取了 Web 浏览器和服务器之间的传输报文,就可以直接获得其中的信息。

HTTPS:是以安全为目标的 HTTP 通道,是 HTTP 的安全版。HTTPS 的安全基础是 SSL。SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协议可分为两层:SSL 记录协议(SSL Record Protocol),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Handshake Protocol),它建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

HTTPS 设计目标:

(1) 数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么 。

(2) 数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收 。

(3) 身份校验安全性:保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方,通过身份校验来确保送对了地方 。

HTTPS 是如何加密的?

加密方式的分类,主要分为 对称加密非对称加密

对称加密

对称加密,顾名思义,对称,也就是指使用同一个秘钥来进行加秘和解密,放到具体场景,也就是通讯双方使用同一个秘钥,一方加密发送信息,另一方解密密文获取信息。经典的对称加密算法有 AES 等

非对称加密

非对称秘钥指的是通过特殊手段,实现的一种加密方式,这种方式能够通过一个公钥进行加密,然后通过私钥进行解密,而公钥与私钥不同,因此成为非对称,典型的非对称加密算法有 RSA 等

HTTPS 使用 非对称 + 对称 组合加密

从安全性来说,我们从加密过程可以很明显看出来非对称加密安全性要高很多,原因是如果采用对称加密,秘钥有可能在开始阶段由主动方发出时被黑客截获,后面任何加密信息将失去保密效果 ,而如果采用非对称加密,那么黑客即使截获了公钥,也没有任何作用,因为只有掌握在通讯双方手中的私钥才是揭开密文的唯一“钥匙”。

而从性能的角度来说,由于非对称加密所涉及到的算法更加复杂,因此,非对称加密的性能会比对称加密差一些,因此,在选择加密方式的时候,我们不只是一味全盘使用非对称加密,而应该在不影响安全性的情况下,果断选择对称加密代替复杂的非对称加密,以此来提高性能。

HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。通过这两种加密方式的结合,HTTPS 有效地避免性能损耗的同时,也让数据传输安全性得到了保障

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。