理解HTTP和HTTPS的区别

原问转载于https://www.mysubmail.com/chs/blog/view/47

这两天闲来无事,在网上看了一下,发现 HTTP 和 HTTPS 的区别很受关注,多位大牛做了很详细的阐述,非常深刻全面。但是小编还是发现一个问题,大牛们的描述太过于专业了,对于专业人士来说当然很容易看明白,可是真正需要了解的往往是一些小白,小白们一开始就接触这些专业术语其实是很难理解的。你们说是不是这个理。所以小编决定联系实际来聊聊这个话题。

首先我们还是简单的描述一下专业定义。 HTTP 是怎么定义的? HTTPS 又是怎么定义的?

HTTP (全称 Hyper Text Transfer Protocol ),一般称为超文本传输协议,也是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计 HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。一种详细规定了浏览器和万维网服务器之间互相通信的规则。 HTTPS (全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是 HTTP 的安全版。

俗话讲:无规矩不成方圆。只有遵循一定规则通信才能有序正常的进行。本质上来说 HTTP 和 HTTPS 是相同的,都是一种传输协议,一种通信规则。只不过 HTTPS 是从 HTTP 的基础上发展而来的,加入了独特的安全机制。

接下来我们联系现实,举个例子为大家描述一下。

就拿打电话来说吧,如果你用自己的手机去给朋友手机拨打电话。看上去这很简单,可能有人会问,这打电话还能有规则?怎么没有呢,我们简单看一下打电话的过程,拨号码》接通电话》交流》结束挂电话。这不正是打电话的一套规则吗。

前面我们说过了, HTTP 规定了浏览器和万维网服务器之间互相通信的规则,比如我们通过浏览器去浏览一个网页,第一步是打开浏览器,浏览器好比是你的手机,在浏览器输入 URL 地址,进行请求,实际上我们输入 URL 后,我们的浏览器给 Web 服务器发送了一个 Request , Web 服务器接到 Request 后进行处理,生成相应的Response ,然后发送给浏览器, 浏览器解析 Response 中的 HTML ,这样我们就看到了网页,这里的URL就相当于你打电话时输入朋友的手机号码,而朋友手机可以看作是你访问的服务器。而 Request 和 Response 大致可以看作是你和朋友的通话内容吧。有些时候访问网页会出现提示找不到服务器等现象,这就说明对方服务器出了问题,也许是关闭了,也许是故障了。这又可以看作是拨打朋友电话,结果朋友手机关机或者损坏,自然无法接通。最后我们关闭浏览器结束访问也就好比通话结束,挂掉电话一样。

我们再看 HTTPS 规则, HTTPS 是运行在 SSL/TLS 之上的HTTP协议, SSL/TLS 运行在 TCP 之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。如果同样用打电话来理解,可以看作是你和朋友通电话的内容进行了加密处理,中国电信有一项特别定制的加密通信业务,内置国家密码管理局指配加密算法的手机终端,向客户提供实现商密级的端到端手机话音通信加密功能、手机终端信息保护以及手机终端加密信息的远程擦除等安全服务。而 HTTPS 协议使用的对称加密就好比是加密电话中添加的加密算法。可以防止被窃取和监听。

我们有必要解释一下 HTTPS 的证书,采用 HTTPS 协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一把锁,这把锁只有你一个人有这把钥匙,你可以把锁给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

证书类别可以分为以下:按证书认证等级分类有 DV SSL 证书、 IV SSL 证书、 OV SSL 证书、 EV SSL 证书。按适用域名数量分类有通配符型 SSL 证书、万能型 SSL 证书、单域名 SSL 证书、多域名 SSL 证书。按照签发主体分类有:自签名 SSL 证书和 CA 机构签发 SSL 证书(各类证书的区别和申请方法因篇幅有限这里就不详细描述了。)

最后我们通过前面的讲述具体来概括一下 HTTP 和 HTTPS 的区别

1、HTTP 的 URL 以 HTTP:// 开头,而 HTTPS 的 URL 以 HTTPs:// 开头;

2、HTTP 是不安全的,而 HTTPS 是安全的,比如一些银行、政府、平台网站会使用 HTTPS,就拿小编现在所在的SUBMAIL赛邮云通信来说, 我们的官网 API 就采取了 HTTPS 协议,提高其安全性。示例HTTPs://api.submail.cn/message/xsend;

3、传输效率上 HTTP 要高于 HTTPS ,因为 HTTPS 需要经过加密过程,过程相比于 HTTP 要繁琐一点,效率上低一些也很正常;

4、HTTP 无需证书,而 HTTPS 必需要认证证书;

5、从 SEO 方面来参考,发现百度和谷歌是不同的。谷歌在 HTTPS 站点的收录问题上与对 HTTP 站点态度并无什么不同之处,甚至把“是否使用安全加密”(HTTPS)作为搜索排名算法中的一个参考因素,采用 HTTPS 加密技术的网站能得到更多的展示机会。百度曾表示不主动抓取 HTTPS 网页,所以目前采取 HTTPS 的网站是很难被百度收录的,不过有消息称百度接下来可能会向谷歌靠拢,对于 HTTPS 页面同样主动抓取。

6、还有一点也不能忽视,使用 HTTPS 需要证书,申请证书是要费用的,相比于 HTTP 不需要证书来说,HTTPS 这笔费用是无法避免的。

以上就是对 HTTP 和 HTTPS 的一些简述,从个人角度来说,我是希望将来采用 HTTPS 的站点越多越好,毕竟现在网站上购物支付这种活动已经非常频繁了,安全是我们不得不去重视的问题。如何提高站点信息的安全,目前最简单的解决方案就是站点采用 HTTPS 协议,进行 web 安全访问。

posted @ 2017-01-03 10:10  坏~牧羊人  阅读(2729)  评论(0编辑  收藏  举报