相信大家在浏览百度、淘宝等一些大型网站时都会看到他们其实都启用了https,近段时间也发现很多小网站买了SSL证书上了HTTPS,很多站长也在观望中,网站到底有没有必要用HTTPS?这里我们详细了解下HTTP和HTTPS网站的一些优缺点。
什么是https?
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
传统的HTTP模式,存在着大量的灰色中间环节,相关信息很容易被窃取,但HTTPS却是通过认证用户与服务器,将数据准确地发送到客户机与服务器,并采用加密方式以防数据中途被盗取,大大降低了第三方窃取信息、篡改冒充身份的风险。
http与https有什么不一样?
HTTP工作原理:
①客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过TCP来完成的,一般TCP连接的端口号是80。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和许可内容。
②服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
HTTPS的工作原理:
①客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器。
②服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数。
③客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作pre_master_secret的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加/解密),并将加密后的信息发送给服务器。
④客户端与服务器端根据pre_master_secret以及客户端与服务器的随机数值独立计算出加密和MAC密钥(参考DH密钥交换算法)。
⑤客户端将所有握手消息的MAC值发送给服务器。
⑥服务器将所有握手消息的MAC值发送给客户端。
网站到底要不要做HTTPS?
百度站长社区曾经做了一个调研,大多数人对HTTPS持观望态度,他们对HTTPS安全性是认可的,但是从各个层面进行考虑后,做出了目前不做HTTPS网站的决定,主要有以下两种观点:
正方观点:
1、HTTPS具有更好的加密性能,避免用户信息泄露;
2、HTTPS复杂的传输方式,降低网站被劫持的风险;
3、搜索引擎已经全面支持HTTPS抓取、收录,并且会优先展示HTTPS结果;
4、从安全角度来说个人觉得要做HTTPS,不过HTTPS可以采用登录后展示;
5、HTTPS绿锁表示可以提升用户对网站信任程度;
6、基础成本可控,证书及服务器已经有了成型的支持方案;
7、网站加载速度可以通过cdn等方式进行弥补,但是安全不能忽略;
8、HTTPS是网络的发展趋势,早晚都要做;
9、可以有效防止山寨、镜像网站;
反方观点:
1、HTTPS会降低用户访问速度,增加网站服务器的计算资源消耗;
2、目前搜索引擎只是收录了小部分HTTPS内容,应该保持观望制度;
3、HTTPS需要申请加密协议,增加了运营成本;
4、百度目前对HTTPS的优先展现效果不明显,谷歌较为明显;
5、技术门槛较高,无从下手;
6、目前站点不涉及私密信息,无需HTTPS;
7、兼容性有待提升,如robots不支持/联盟广告不支持等;
8、HTTPS网站的安全程度有限,该被黑还是被黑;
9、HTTPS维护比较麻烦,在搜索引擎支持HTTP的情况,没必要做HTTPS;
虽然谷歌和百度都对HTTPS“另眼相看”,但这并不意味着站长们都应该把网站协议转换成HTTPS!
如果站长在采用HTTPS协议后仍需制作个“HTTP可访问版”、或是通过301重定向“自动跳入HTTPS版本”。那么,采用HTTPS协议的代价就不再只是多花MONEY的问题了。
在思考“到底该不该采用HTTPS协议”这个问题时,多考虑考虑怎样做对你的用户更友好吧!
如果你的网站属于电子商务、金融、社交网络等领域的话,那最好是采用HTTPS协议;如果是博客站点、宣传类网站、分类信息网站、或者是新闻网站之类的话,大可不必跟风而行,毕竟HTTPS协议不仅耗钱,浪费精力,而且暂时也不利于网站的SEO工作,但是随着互联网的发展,随着技术的发展https很多缺点是可以优化和弥补的,比如:打开速度问题完全可以通过CDN加速解决,很多IDC也在着手推出免费证书和一站式HTTPS搭建服务,HTTPS成本在未来将会大大缩小!