http协议与https协议区别

文章热词:Http协议,https协议

日期:2019-03-11 13:50 by 杨国伟 534 0 收藏
我要分享

摘要: 可能在平时的开发中并没有特别注重协议传输这块的内容,但是作为一个BS开发的人员有必要了解一下这方面的内容。

可能在平时的开发中并没有特别注重协议传输这块的内容,但是作为一个BS开发的人员有必要了解一下这方面的内容。

HTTP

作为一个IT攻城狮,遇到这种专业名词不会了就去查全称,这一次也不例外。HTTP(HyperText Transfer Protocol)超文本传输协议。其主要是应用在Web浏览器和网站服务器之间传送消息,HTTP以明文方式传送内容,不提供任何方式的数据加密。所以一旦有恶意攻击者取到了传输的报文就很容易读懂传输的数据,简而言之就是不安全的。像一些要求安全性高的网站一般都是HTTPS的。

原理

20161211215524118.jpg

优点

速度快,是互联网上应用最为广泛的一种网络协议。

缺点

传输过程是明文,不安全。

HTTPS

为了解决HTTP协议不安全这一个漏洞,出现了HHTPS(Hyper Text Transfer Protocol over Secure Socket Layer)协议,是HTTP+SSL,就是以安全为目标的HTTP通道,是HTTP的安全版,在HTTP基础上加入了SSL。其有两种方式,一、建立安全通道保证信息安全,二、确认网站的真实性,就需要用到数字签名的内容。

http协议是超文本传输协议。

https是安全的超文本传输协议,是安全版的http协议,使用安全套接字层(SSL)进行信息交换。

https协议主要针对解决http协议以下不足:

1.通信使用明文(不加密),内容可能会被窃听

2.不验证通信方身份,应此可能遭遇伪装

3.无法证明报文的完整性(即准确性),所以可能已遭篡改

http+加密+认证+完整性保护=https

https并非是应用层的一种新协议,只是http通信接口部分用SSL(Secure socket Layer)和TLS(Transport Layer Security)协议代替而已。通常,http是直接和tcp通信的,当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。

原理

1.客户端发起HTTPS请求

2.服务端制作证书(在网上发现一张讲解的图,非常清楚,直接拿来用咯)

20161211220144199.jpg

3.传送证书

这个证书就是公钥,还包括一些详细信息。就是上图中的左半部分。

4.客户端解析证书

参考上图中的右半部分,使用私钥解密,验证该证书的有效性。有效后客户端就可以和服务端进行消息的传送了。

5.传送加密信息

客户端可以传送加密后的信息给服务器

6.服务器解密

服务器使用私钥进行解密,解密后读取数据,将自己要发送给客户端的数据进行加密

7.传输加密后的信息

服务端将数据传送给客户端

8.客户端解密信息

客户端解密服务端传来的加密的信息

优点

采用加密方式传输报文,传输安全

缺点

需要去CA申请证书,而这种证书一般都不是免费的,所以需要一定的费用

传输速度慢

总结

在什么情况下用HTTP,什么情况下用HTTPS呢?个人认为在数据保密性特别强的业务中最好使用HTTPS,例如支付密码,登录密码这些功能上。HTTPS较HTTP,会使得浏览器响应变慢,这也是一大考验点。

上一篇:目中有人才有路,心中有爱才有度

下一篇:回忆如墓,淡薄如素


评论