您现在的位置:首页 >> 前端 >> 内容

HTTP与HTTPS的区别

时间:2017/1/17 9:22:00 点击:

  核心提示:前言可能在平时的开发中并没有特别注重协议传输这块的内容,但是作为一个BS开发的人员有必要了解一下这方面的内容,早些了解早些避免一些弯路,相信有一定网络基础的都知道如何查看一个网页是HTTP的还是HTT...

前言

可能在平时的开发中并没有特别注重协议传输这块的内容,但是作为一个BS开发的人员有必要了解一下这方面的内容,早些了解早些避免一些弯路,相信有一定网络基础的都知道如何查看一个网页是HTTP的还是HTTPS的。在这里就举个栗子:①打开浏览器,②在地址栏输入“百度”两个字,回车,③将地址粘贴出来,你会看到是HTTPS开头的。

HTTP

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

原理

HTTP与HTTPS的区别

优点

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

缺点

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

HTTPS

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

原理

1.客户端发起HTTPS请求

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

HTTP与HTTPS的区别

3.传送证书

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

4.客户端解析证书

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

5.传送加密信息

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

6.服务器解密

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

7.传输加密后的信息

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

8.客户端解密信息

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

优点

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

缺点

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

传输速度慢

总结

在什么情况下用HTTP,什么情况下用HTTPS呢?个人认为在数据保密性特别强的业务中最好使用HTTPS,例如支付密码,登录密码这些功能上。HTTPS较HTTP,会使得浏览器响应变慢,这也是一大考验点。具体取舍,感兴趣的读者可以再去网上查看相关资料做出合理的选择。

Tags:HT TT TP P与 
作者:网络 来源:不详