点击蓝字,一起变强

2020年蝙蝠纪元,二毛一如往常的呆在家中,不敢外出去浪。

为排解心中之闷,二毛抽了一口老烟,熟练的打开了全球最大的同性交友网站,准备假装了解下最近流行的项目...

只听啪的一声回车键,哪知浏览器蹦出这么一个画面...

这是怎么回事?二毛有点疑虑,突然门外传来一阵急促的敲门声,二毛起身前去开门...

二毛在电脑前敲入京东的域名(https://www.jd.com/),果不其然,也跳出跟Github一样的安全提示。随后二毛一顿搜索,终于知道了原因。

HTTP

要搞清楚上面的问题前,我们先要知道 HTTP 协议。

HTTP是什么呢?引用百科的解释就是:

即超文本传输协议(Hypertext transfer protocol),是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

百科

简单来说,HTTP就是浏览器(客户端)和网站(服务端)之间传输信息使用的协议。

打个比方,就像读书的时候,你跟前排同学传纸条前,你总是要先戳一下前排同学的后背,然后前排同学就会往后伸出一只手来,这时候你就可以把纸条放在她手心。她看完后会在纸条写上文字,然后再次弯手,你再伸手拿纸条。这就完成了一次通信的过程。

你戳她后背,她向后弯手的动作(像极了爱情??),就像是一种准备通信的规则,换句话说就是一个传纸条的协议。而在网络世界中,浏览器和网站通信,用的就是一种名为HTTP的协议。

HTTP特别简单,它部署快捷,传输效率高,推动了互联网的巨大发展。

HTTPS

为什么会有 HTTPS?

HTTP是如此简单,简单到连传输的内容都没有处理,直接使用明文传输的,但是这无疑会给信息的安全带来重大的隐患。稍微懂点抓包的且有相关权限的,就可以把你跟网站通信的内容看的一清二楚。

再举个例子:

教室里,第五排的小明想给第三排的小红传情书,必须得经过第四排的同学接力传递。这样一来就会产生下面几个问题:

  • 窃听:纸条内容被第四排同学知道了,并向老师举报,导致小明因骚扰女同学而被辍学。

  • 篡改:纸条被第四排同学改写了,把"想跟你一起起床"改成"想跟你一起睡觉",导致小红看后怒火中烧,直呼渣男。

  • 破坏:纸条被第四排同学破坏,导致小红无法辨认内容,误以为小明恶作剧扔了一团废纸,而怒发冲冠,拳脚相加。

  • 伪装:第四排同学直接伪装成小红回复小明,表示愿意交往。导致下课时小明牵小红的手,被一剑封喉。

由于传纸条通信规则协议的不完善,使得第四排同学也就是中间人有机可乘干坏事,造成了以上四种不良结果。

映射到网络世界,网络通信的链条如此曲折冗长,中间极大可能也有诸多牛鬼蛇神、心怀不轨的人,会千方百计的对你传输的信息拦截,然后对信息进行窃听、改造、破坏甚至伪装。

使用 HTTP 协议传输信息无异于在网络世界裸奔,但是现在世界上仍然有许多网站使用的是 HTTP(当然大部分是没什么重要信息的网站)。基于此,Google浏览器已经把使用 HTTP 协议的网站,标为了不安全,以进一步提示用户可能存在的风险。

随着现代社会人们对隐私安全的要求越来越高,HTTPS 便顺应时代潮流,应运而生。

什么是 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 有了以下几个功能:

  1. 加密数据

  2. 验证对方身份

  3. 数据完整性保护(即可以得知数据有没有被破坏或篡改)

有了这几个功能,我们再来重新审视小明和小红传纸条的例子:

  • 窃听 --- 有了 加密数据 的功能,小明表示妈妈再也不用担心我被辍学了!

  • 篡改 -- 有了 数据完整性保护 的功能,小明表示妈妈再也不用担心我被大呼渣男了!

  • 破坏 -- 有了 数据完整性保护 的功能,小明表示妈妈再也不用担心我身受重伤了!

  • 伪装 -- 有了 验证对方身份 的功能,小明表示妈妈再也不用担心我英年早逝了!

总结:有了 HTTPS 功能的保驾护航,中间人再也不会从中作梗,小明可以放心写情书了!

正当二毛准备继续侃侃而谈时,二丫的电话响了...

二毛隐约听到二丫电话那头的人正操着广普,语气有些焦灼的说着几个关键词:房租、一定...


蝙蝠纪元,疫情之下。

教科书式人物浪里小白龙小明能否制定出“HTTPS” 规则,继续驰骋情场,策马奔腾?

二毛能否凭借胡说八道的技术继续忽悠二丫,顺利拖住房租,从而支撑家庭?

二丫妈妈的电话又传达了什么信息,是敌是友是福是祸?

欲知后事如何,且听下回分解。

-End-

往期精彩:

Hi,我是二毛,一个在大城市漂泊的程序员

【故事】为什么周董发新歌会把QQ音乐服务器搞挂

【故事】为什么C盘太满系统会卡?

強い秘密


欢迎来到程序员二毛的世界,在这里你将走进程序员的生活,感受职场冷暖,体会生活感悟,并学习到有趣的编程技术。

关注公众号《程序员二毛》,后台回复 1024 领取变强秘籍;

原创不易,点个"在看"呗

【故事】跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租(上)...相关推荐

  1. 跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租...

    2020年蝙蝠纪元,二毛一如往常的呆在家中,不敢外出去浪. 为排解心中之闷,二毛抽了一口老烟,熟练的打开了全球最大的同性交友网站,准备假装了解下最近流行的项目... 只听啪的一声回车键,哪知浏览器蹦出 ...

  2. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  3. 关于 大学计算机基础的课程总结,计算机基础论文,关于大学计算机基础课程的实践相关参考文献资料-免费论文范文...

    导读:这篇计算机基础论文范文为免费优秀学术论文范文,可用于相关写作参考. 摘 要:随着社会的不断发展,科学技术的不断深入,计算机科学已经得到广泛的普及,计算机课程已经在中小学校开展起来,而高等院校为培 ...

  4. 信息化教学与计算机的关联性,信息化教学方法应用探索——以计算机基础课程为例.pdf...

    信息化教学方法应用探索--以计算机基础课程为例 第 19卷 第 4期 天津职业院校联合学报 No .4Vo1.19 2017年 4月 JournalofTianjinVocationalInstitu ...

  5. 大学计算机教学ppt数制,大学计算机基础 第3讲 数制及其相互转换 国家精品课程课件(可编辑)...

    大学计算机基础第3讲数制及其相互转换国家精品 课程课件PPT 第1 章计算机基础知识第3 讲数制及其相互转换主要教学内容数制的基本概念1 数制转换2 小结3 学习目标1 理解数制的基本概念.2 掌握数 ...

  6. 计算机任务驱动法教学应用,_任务驱动法_在计算机基础教学中的应用

    "任务驱动法"在计算机基础教学中的应用 义乌工商职业技术学院计算机工程系 吕 君 [摘 要]"任务驱动法"是一种建立在建构主义教学理论基础上的教学方法,将任务驱 ...

  7. 大学计算机基础培训的课程

    大学计算机基础培训 第0讲 课程介绍 大学计算机基础课程介绍 第1讲 计算文化与计算思维 1.2 计算机的发展 1.3 数制及其转制 1.4 计算机内的信息表示 1.5 计算机新技术 1.1 信息系统 ...

  8. 计算机基础知识之了解计算机,计算机基础知识(计算机基础知识你了解吗?)...

    计算机基础知识(计算机基础知识你了解吗?) 一.关于程序运行时内存与硬盘的关系介绍 如果你的电脑上安装了QQ,你希望和好友聊天,会双击QQ图标,打开QQ软件,输入账号和密码,然后登录就可以了. 那么, ...

  9. 大学计算机课教学特色,大学计算机基础课程教学探讨

    大学计算机基础课程教学探讨 大学计算机基础课程在计算机科学学科中有着非常重要的地位.同时,大学计算机基础课程教育的目的是使学生将计算机与信息技术用于其工作领域,培养更多更优秀的计算机应用技术的高级人才 ...

最新文章

  1. 一个为制造业而生的AI助手,普通员工向它提问就能做数据分析
  2. FlyWay简单使用
  3. BZOJ 3544 treap (set)
  4. 常用的SQLAlchemy列选项
  5. activemq的使用经验
  6. python3高级 一 迭代器
  7. mysql如何建立索引workbench_MySQL数据库中如何正确的理解与使用索引?
  8. redis循环键_Redis的并发控制
  9. 3 Django视图层
  10. linux普通用户修改root密码及获取root权限
  11. 【TSP】基于matlab蜜蜂算法求解旅行商问题【含matlab源码 1248期】
  12. 增量数据挖掘论文推荐
  13. delphi mysql
  14. 办公技巧:PDF转DWG格式的两种简单方法
  15. Spy++ —— 窗口、消息查看分析利器
  16. 洛谷P4707 重返现世 kMAX-MIN反演+DP
  17. Mac CAD 安装完成后,打开注册机时出现 应用程序“02_注册机”不能打开。
  18. 卸载重装Ubuntu22.04双系统
  19. 中国大学最卷的专业,让我读上了
  20. 人民币大小写格式转换

热门文章

  1. 作为APIcaller识别发票信息
  2. 请问一下Android Studio如何配置JAVACV 0.8Javacv+2.4.9Opencv 万分感谢
  3. 安装hue一直失败,请大佬帮帮忙,万分感谢!!!!!!!!
  4. C++ bit field 位域/位段
  5. 导航路径规划之四 路径规划概述
  6. PS常用平面设计制作尺寸
  7. 维棠flv视频下载软件 v2.0.9.4官方免费版
  8. mpvue微信小程序动画_mpvue 与微信小程序的火花
  9. 微信小程序路线规划导航并唤醒第三方导航app
  10. 13年android手机top,2013安卓手机性能大排行:小米3才第七