HTTP和HTTPS的区别

目录

 

HTTP的缺点

明文传输:

不验证通信方的身份:

无法证明报文的完整性:

SSL安全协议

相互交换秘钥的公开秘钥加密技术

证书

总结:


HTTP的缺点

HTTP是TCP/IP协议族里的一个子集协议,它解决了客户端与服务器之间的通信问题,但同时HTTP也有缺点,比如它是明文传输的、不会验证通信方的身份、无法证明报文的完整性。

 

明文传输:

由于HTTP本身不具备加密的功能,,所以无法做到对通信整体进行加密,也就是说HTTP报文使用明文方式发送,这就会导致通信内容在通信线路上有可能会被窃听、窥视。

 

不验证通信方的身份:

HTTP协议中的请求和响应不糊对通信方进行确认,也就是说 接收报文的服务器未必就是请求报文中的URI真正指定的主机,而响应的报文也未必返回到实际发出请求的客户端里;同时也无法判定请求来自何方、出自谁手。

在HTTP协议通信时,由于不存在确认通信方的处理步骤,所以任何人都是可以向服务器发出请求,而服务器也是来者不拒,对于每一个请求都是有求必应(在发送端IP和端口号没有被web服务器设定限制访问的前提下)。这会导致一些无意义的请求也会照样接收,造成服务器的压力变大

 

无法证明报文的完整性:

所谓的完整性,是指信息的准确度,如果无法证明其完整性,通常也以为着无法判断信息是否准确。在请求或者响应的内容发出之后一直到对方接收的这段时间里,请求或响应的报文都有可能遭到篡改,也没有办法知道。也就是说没有任何办法确认,发出的请求/响应he j接收到的请求/响应式前后相同的。

 

SSL安全协议

SSL是独立于HTTP的协议,是当前应用最为广泛的网络安全技术。

HTTP + SSL = HTTPS

HTTPS就是加了SSL安全协议的HTTP,它具有加密以及认证的机制,所以HTTPS将会解决上述HTTP的一些缺点。

HTTPS并不是应用层的一种新协议,而只是在HTTP通信接口部分用SSL和TLS协议代替而已。

通常HTTP直接和TCP进行通信,但使用SSL的时候,就变成HTTP先和SSL通信,然后SSL再和TCP通信

 

相互交换秘钥的公开秘钥加密技术

SSL采用一种叫做公开秘钥加密的加密处理方式,现代的加密算法是公开的,而秘钥是保密的,通过这种方式得以保持加密方法的安全性。

共享秘钥加密的困境:

加密和解密公用一个秘钥的方式,称为共享秘钥加密,也称为对称秘钥加密。

以共享秘钥方式加密时,需要将秘钥也发给对方用于解密,但是在发送过程中,像上面提到的安全问题一样,一旦通信被监听,那么秘钥也就会被攻击者得到,同时失去加密的意义。

 

使用两把秘钥的公开秘钥加密

公开秘钥的方式很好地解决了共享秘钥加密的困难,这种方式也称为非对称的秘钥。一把叫做私有秘钥,另一把叫做公开秘钥,顾名思义,私有秘钥是不公开的,而公开秘钥则可以随意公开,任何人都可以获得。

 

使用公开秘钥加密方式,发送密文的一方,使用对方的公开秘钥进行加密处理,对方收到被加密的信息后,再使用自己的私有秘钥进行解密。

利用这种方式,不需要发送用于解密的私有秘钥,也不必担心秘钥被攻击者窃听或盗走。

 

HTTPS采用混合加密机制:

HTTPS采用共享秘钥加密和公开秘钥加密两者并用的混合加密机制。要交换秘钥环节使用公开秘钥加密方式,之后的通信(交换报文阶段)则使用共享秘钥加密方式。

通过使用这种方式进行通信,就可以保证报文的完整性。

 

 

 

证书

SSL不仅提供加密,还可以提供证书,证书可用于确定对方的身份。

证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。

证书包括:

  1. 证明公开秘钥正确性的证书
  2. 证明足迹真实性的EV SSL证书
  3. 用以确认客户端的客户端证书

 

 

总结:

通过上述,可以知道HTTP和HTTPS的区别:

因为HTTPS具有加密以及认证的机制,所以在通信过程中比HTTP更加安全。

同时因为HTTPS的加密以及认证机制,所以在通信速度的方面,由于加密和解密都会消耗大量的CPU及内容资源,HTTPS比HTTP的通信速度要慢2-100倍。HTTPS还增加了和SSL协议通信的过程,,因此整体上来说不可避免地增加了通信量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值