2020年蝙蝠纪元,二毛一如往常的呆在家中,不敢外出去浪。浏览器
为排解心中之闷,二毛抽了一口老烟,熟练的打开了全球最大的同性交友网站,准备伪装了解下最近流行的项目...安全
只听啪的一声回车键,哪知浏览器蹦出这么一个画面...服务器
这是怎么回事?二毛有点疑虑,忽然门外传来一阵急促的敲门声,二毛起身前去开门...网络
二毛在电脑前敲入京东的域名(https://www.jd.com/),果不其然,也跳出跟Github同样的安全提示。随后二毛一顿搜索,终于知道了缘由。网站
要搞清楚上面的问题前,咱们先要知道 HTTP 协议。加密
HTTP是什么呢?引用百科的解释就是:3d
即超文本传输协议(Hypertext transfer protocol),是一个简单的请求-响应协议,它一般运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及获得什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具备一个相似MIME的格式。这个简单模型是早期Web成功的有功之臣,由于它使得开发和部署是那么的直截了当。
简单来讲,HTTP就是浏览器(客户端)和网站(服务端)之间传输信息使用的协议。cdn
打个比方,就像读书的时候,你跟前排同窗传纸条前,你老是要先戳一下前排同窗的后背,而后前排同窗就会日后伸出一只手来,这时候你就能够把纸条放在她手心。她看完后会在纸条写上文字,而后再次弯手,你再伸手拿纸条。这就完成了一次通讯的过程。blog
你戳她后背,她向后弯手的动做(像极了爱情??),就像是一种准备通讯的规则,换句话说就是一个传纸条的协议。而在网络世界中,浏览器和网站通讯,用的就是一种名为HTTP的协议。开发
HTTP特别简单,它部署快捷,传输效率高,推进了互联网的巨大发展。
HTTP是如此简单,简单到连传输的内容都没有处理,直接使用明文传输的,可是这无疑会给信息的安全带来重大的隐患。稍微懂点抓包的且有相关权限的,就能够把你跟网站通讯的内容看的一清二楚。
再举个例子:
教室里,第五排的小明想给第三排的小红传情书,必须得通过第四排的同窗接力传递。这样一来就会产生下面几个问题:
窃听:纸条内容被第四排同窗知道了,并向老师举报,致使小明因骚扰女同窗而被辍学。
篡改:纸条被第四排同窗改写了,把"想跟你一块儿起床"改为"想跟你一块儿睡觉",致使小红看后怒火中烧,直呼渣男。
破坏:纸条被第四排同窗破坏,致使小红没法辨认内容,误觉得小明恶做剧扔了一团废纸,而怒发冲冠,拳脚相加。
假装:第四排同窗直接假装成小红回复小明,表示愿意交往。致使下课时小明牵小红的手,被一剑封喉。
因为传纸条通讯规则协议的不完善,使得第四排同窗也就是中间人有隙可乘干坏事,形成了以上四种不良结果。
映射到网络世界,网络通讯的链条如此曲折冗长,中间极大可能也有诸多牛鬼蛇神、心怀不轨的人,会想方设法的对你传输的信息拦截,而后对信息进行窃听、改造、破坏甚至假装。
使用 HTTP 协议传输信息无异于在网络世界裸奔,可是如今世界上仍然有许多网站使用的是 HTTP(固然大部分是没什么重要信息的网站)。基于此,Google浏览器已经把使用 HTTP 协议的网站,标为了避免安全,以进一步提示用户可能存在的风险。
随着现代社会人们对隐私安全的要求愈来愈高,HTTPS 便顺应时代潮流,应运而生。
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上经过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,所以加密的详细内容就须要 SSL。HTTPS 存在不一样于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通信方法。它被普遍用于万维网上安全敏感的通信,例如交易支付等方面 。
总结起来就是:基于HTTP协议,经过 SSL 或 TLS 的封装,使得 HTTPS 有了如下几个功能:
加密数据
验证对方身份
数据完整性保护(便可以得知数据有没有被破坏或篡改)
有了这几个功能,咱们再来从新审视小明和小红传纸条的例子:
总结:有了 HTTPS 功能的保驾护航,中间人不再会从中做梗,小明能够放心写情书了!
正当二毛准备继续侃侃而谈时,二丫的电话响了...
二毛隐约听到二丫电话那头的人正操着广普,语气有些焦灼的说着几个关键词:房租、必定...
蝙蝠纪元,疫情之下。
教科书式人物浪里小白龙小明可否制定出“HTTPS” 规则,继续驰骋情场,策马奔腾?
二毛可否凭借胡说八道的技术继续忽悠二丫,顺利拖住房租,从而支撑家庭?
二丫妈妈的电话又传达了什么信息,是敌是友是福是祸?
欲知后事如何,且听下回分解。