HTTP与HTTPS的区别

来源:互联网 发布:安徽联新网络怎么样 编辑:程序博客网 时间:2024/06/11 12:14

前言

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

HTTP

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

原理


优点

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

缺点

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

HTTPS

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

原理

    1.客户端发起HTTPS请求

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

 

   3.传送证书

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

    4.客户端解析证书

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

    5.传送加密信息

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

    6.服务器解密

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

    7.传输加密后的信息

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

    8.客户端解密信息

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

优点

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

缺点

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

    传输速度慢

总结

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

4 0
原创粉丝点击