浅谈HTTPS连接
相信很多朋友都遇到过网页被强插广告的情况,好端端一个干净的页面,动不动就被插了个屠龙宝刀点击就送的小窗口,看着就心烦。这种网页劫持强插广告的现象,在中国非常常见,往往是运营商进行HTTP劫持所造成的。对付这种劫持,一个很好的解决办法就是HTTPS。

HTTPS能够加密网页传输内容,不仅可以防止强插广告,还可以防盗号。然而,效果如此好的技术,并没有成为主流。无论国内外,很多大网站都仍没有使用HTTPS进行加密。根据统计,Alexa排名前一百万的网站,只有21.7%默认使用HTTPS,而中国的情况更加惨淡一些,注册域名总数只有0.11%使用HTTPS。为什么会这样子呢?今天就一起来谈谈HTTPS的话题吧。
HTTPS是什么
我们通常浏览网站用的是HTTP协议,这个协议也是互联网最为广泛使用的协议之一。这个协议大致是这样子运作的,当浏览网站的时候,首先你会发送一个请求,如果发送的是网址的话,会经由DNS服务器解析到相应的IP地址。服务器的80端口会监听到该请求,如果没有问题的话,会向你返回一个相应信息,接而连接成立,就可以开始传输数据了。这是一个很典型的TCP链接,用户和服务器进行有效连接需要经过好几个步骤,但无一例外,这些步骤中的数据传输都是明文,没有加密。

没有加密,就意味着给了别有用心者很多机会窃听——就如同你上课时给妹子传纸条,传递过程中阿猫阿狗都可以拆开来围观一番,黑点儿的还会往纸条里加料,你开网页被运营商插广告,大致也是这个理儿。如何才能防止信息被篡改?加密是个很好的解决方案。HTTPS,就是加密版的HTTP。

HTTPS使用了SSL/TLS进行加密,这是一套使用公钥/私钥机制的加密系统。使用了HTTPS后,基于证书系统的公钥一方面保证用户连接的是正确的网站,另一方面结合私钥,可以保证网络数据不会被窃听。于是,HTTPS一来可以防止钓鱼(网站带有数字签名,签名不对无法连接),二来加密了传输的数据,他人无法窃听和加料,盗号和插广告无从下手。和HTTP相比,HTTPS的确更能保证用户的隐私和安全。
为何HTTPS仍不是主流?
尽管HTTPS的好处显而易见,但目前为止仍有大量的网站尚未部署HTTPS,就算是部署,也只是在登录页面等少部分对安全有硬性要求的地方部署。为什么大家都没有一股脑地转用HTTPS?背后的缘由主要还是钱。

HTTPS会带来一定的成本问题,大部分人开网站是为了赚钱,如果提升了用户体验却亏了,那还不如不开。从HTTP转换到HTTPS是需要一定成本进行改造的,例如HTTP使用的是80端口而HTTPS使用的是443端口,同时HTTPS要比HTTP更加消耗资源,SSL握手需要更多的数据包,加密解密也需要额外的运算。要保证用户体验,改用HTTPS后,设备也需要升级,例如购买SSL加速卡等等,对于一些大流量的站点例如视频站,这个成本是不容忽略的。
对于小网站,证书也是一个成本。HTTPS的证书需要专门的机构颁发,大机构颁发的证书不是免费的,每年都得交几百几千块钱才能申请到证书。小机构的证书尽管便宜甚至免费,但一来适用度不如大机构的证书,二来申请证书始终是麻烦事。小网站的话,挂靠在拥有证书的服务器是个不错的办法,但更多人是懒得弄了,小网站本来就比较随意,反正连接没加密又不是不能用,哪有这么多心思弄证书。

除此以外,HTTPS的兼容也有一定问题。例如网站部署了HTTPS后,页面想要内嵌其他站点的内容,如果内嵌的只是普通的HTTP内容的话,可能会出现一些问题。你可以看到一些HTTPS网站中没法内嵌优酷、土豆之类的视频,看视频需要点击跳转,也是由于这个缘故。
因此,HTTPS主要还是一些资本雄厚的大公司以及对安全有着硬性要求的站点在用。例如Google,反正有钱,旗下所有网站部署HTTPS也烧得起;例如淘宝,有钱是一方面,作为一个购物网站,花钱这点小事和在安全上捅了篓子相比,根本不值一提,所以淘宝所有的页面都部署了HTTPS。
HTTPS是否万无一失?
使用了HTTPS,是否就万无一失了呢?也并非如此。HTTPS的证书就有可能存在安全问题,因为某些颁发证书的机构不按套路出牌。某些机构会滥发证书,甚至会制造假证书,假证书可以用来进行中间人攻击。例如,当你使用HTTPS连接到某个站点,浏览器告诉你站点连接是安全的HTTPS,但不好意思,实际上这个HTTPS只是基于假证书的连接,你在网站上做的一切都有可能被假证书的机构窃听。
这种事情是真实存在的,例如Gmail使用的是Google自己的证书,但MCS就曾经伪造过Gmail的假证书。用户连接到Gmail的时候,由于Google和MCS都被系统和浏览器信任,所以MCS的假证书也可以用于Gmail的HTTPS连接,这等于是绕开了Google对Gmail的HTTPS加密,Gmail就被MSC劫持了。对付假证书的最好办法,就是把颁发假证书的机构删掉。各大浏览器例如Chrome、Firefox等,会时不时宣布吊销某些机构证书的决定,大家可以多留意一下这方面的消息。

HTTPS除了防窃听,还可以防止他人修改传输内容,例如防止运营商干扰TCP连接等。但是运营商看不到传输的数据,还是有办法整你的,例如给你丢几个包之类的。一些网站会因为换用HTTPS,导致整个IP被封禁,所以一些站点换用HTTPS还是蛮需要勇气的。
总结
但无论如何,HTTPS仍是大趋势。不少业界巨鳄在大力推广HTTPS等安全连接,例如苹果规定商店所有App必须使用HTTPS连接网络,下一代HTTP协议HTTP/2也将强制使用加密连接。因此,各大站点换用HTTPS等加密连接,只是时间问题。HTTPS的确可以解决很多问题,希望互联网能尽早全面换装加密连接,更好地保护用户的隐私和安全吧。
浅谈HTTPS连接的更多相关文章
- 浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- [转]浅谈https\ssl\数字证书
浅谈https\ssl\数字证书 http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的 ...
- 浅谈HTTPS以及Fiddler抓取HTTPS协议(摘抄)
一.浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的.目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度.谷歌等. ...
- 【转载】浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- 浅谈HTTPS和SSL/TLS协议的背景和基础
相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和 ...
- 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础
来自:编程随想 >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 ...
- 浅谈https\ssl\数字证书
全球可信的SSL数字证书申请:http://www.shuzizhengshu.com 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕 ...
- 【转】浅谈https\ssl\数字证书
转载请注明出处:http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的SSL数字证书申请 ...
- 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用
1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...
随机推荐
- 【Luogu】P2704炮兵阵地(状压DP)
题目链接 话说还真没见过能影响两行的状压.想了半天想出来f数组再多一维就能表示,但是没想到怎么才能不爆空间…… 也是从这道题里学到的一个妙招. 可以把合法状态存到一个数组里,然后用数组下标来映射状态. ...
- BZOJ 3529 [Sdoi2014]数表 ——莫比乌斯反演 树状数组
$ans=\sum_{i=1}^n\sum_{j=1}^n\sigma(gcd(i,j))$ 枚举gcd为d的所有数得到 $ans=\sum_{d<=n}\sigma(d)*g(d)$ $g(d ...
- [luoguP2805] [NOI2009]植物大战僵尸(网络流)
传送门 结论:这是最大权闭合图的模型 因为可能A保护B,B保护A,出现环. 所以由植物A向植物A保护的植物连边,然后拓扑排序,将环去掉. 然后将拓扑排序的边反向连,建立最大权闭合图的模型. 跑最大流( ...
- Spoj-BITDIFF Bit Difference
Given an integer array of N integers, find the sum of bit differences in all the pairs that can be f ...
- 表单禁用复制、粘贴、及右击菜单(contextmenu、oncopy、oncut、onpaste、onselectstart)
禁用右键菜单,可以使用oncontextmenu属性: <textarea oncontextmenu="return false"></textarea> ...
- 更全的bootstrap教程连接
更全的bootstrap教程: http://www.jb51.net/article/84087.htm
- Perl语言入门--4--函数
1.chop函数:删除标量变量或数组中每个字符的最后一个字 举个栗子: #!/usr/bin/perl $v = 'Flowers'; $r = chop($v); print "$v (w ...
- hdu - 1269 迷宫城堡 (强连通裸题)
http://acm.hdu.edu.cn/showproblem.php?pid=1269 判断一个图是不是强连通,缩点之后判断顶点数是不是为1即可. #include <iostream&g ...
- Codeforces 833B The Bakery(主席树 + 决策单调性优化DP)
题目链接 The Bakery 题目大意:目标是把$n$个数分成$k$组,每个组的值为这个组内不同的数的个数,求$k$个组的值的和的最大值. 题目分析: 这道题我的解法可能和大众解法不太一样……我用主 ...
- 抽球游戏(fwt)
地址:https://nanti.jisuanke.com/t/26017 分析: 现在是给定p,求是否存在这样的数列c,我们可以让p进行fwt变换,然后把点值都三次方根,然后再把得到的点值ufwt成 ...