镇江0511之家

标题: 小科普|https://是啥意思? [打印本页]

作者: 1243008594    时间: 2021-4-11 03:33
标题: 小科普|https://是啥意思?
我们打开一个网页,如今只需要点一下图标就可以了,哪怕输入网页,也只要 "xxx.com" 其他都会自动补全,过去咱们知道了 www 是万维网的意思(戳这里),那再前面的http://是个啥呢?
[attach]46344[/attach]

了解 HTTPS 之前,得先了解 HTTP,全称 Hyper Text Transfer Protocol 超文本传输协议,挺好理解,毕竟网页里不可能只有字儿,还有图片视频。与之相对应的,如果传输的是文件,则有 FTP 协议。
[attach]46345[/attach]

这个协议用于从 WEB 服务器上下载 HTML 超文本标记语言到本体浏览器展示,基于 TCP/IP 通信协议。当你输入一个网址,其实并不是真正的网址,比方说 " 张三 " 只是一个名字不是一个人,它所指代的人才是完整的某个人。那么网络上精确的位置就是 IP,
[attach]46346[/attach]

输入网址后我们通过本地 host、以及 DNS 域名解析服务,比方说 pixiv 以前登不上去了,就可以通过修改本地 host 实现正常访问。
这里你可以理解成查 " 新华字典 " 给你翻译翻译,转换成确切的那个 IP,然后是 TCP 的 3 次握手,才发送 HTTP 请求,服务器再给你返还一个 HTTP 响应,到了本地,给你的这串代码,经过浏览器渲染,这个字在哪,那个图插哪儿,最终加载出一个完整的网页。
[attach]46347[/attach]

这时候我们可以发现,网页和软件的差异就在,软件已经存在你硬盘里了,你开开关关都是设定好的、固定的,但是网页他不是完整存在的,你每点一个东西、一次提交,他都要重新加载一遍,都是一个全新的链接,甚至要重新登录一遍。
[attach]46348[/attach]

所以我们上比较老的网页、或者很多年前你上网的时候,打开网页就特别慢,这和你的网速、运营商没太大关系,只是说本身协议老、效率低。
[attach]46349[/attach]

你可以到 http2.akamai.com/demo 跑个对比测试,这玩意跑起来就跟跑 Cinebench 一样,类似单核和多核的区别。
HTTP 经过了四个版本,1991 年只有一次性 GET 命令的 0.9 版本。1996 年正式标准化的 1.0 版本,增加了对图像、视频、二进制文件的支持,且有了 cache 缓存特性,再次访问同一个网站只要重新加载本地缓存即可,1.0 对现代互联网体验是有里程碑意义的。
[attach]46350[/attach]

1997 年的 1.1 终于支持了持久长连接了,并优化了带宽,速度变快了,还能断点续传,但依然得一条条处理回应,速度依然不快,当年就出现了很多网页优化技巧,可以分为两种,第一类是通过合并的方式减少请求次数,第二类是同时多开持久连接。
[attach]46351[/attach]

到了2015 年HTTP/2,终于有了质的飞跃,新增多路复用机制,相当于网页从多核走向了多核时代,过去你一次只能收发一份快递,如今你一次可以收发一堆快递。由于(在应用层和传输层之间)加入了二进制分帧,也就是这代开始传输的是二进制的协议,让延迟更低、占用更小、吞吐量更大。
[attach]46352[/attach]

类似于原本单行道上开了一堆小轿车载货,如今用更少的大卡车,每辆车载货量更多,而且还是多车道同时运输。
至于重新登录,后来用咱们熟悉的 Cookie 记录你的登录状态,这是一直保存在你电脑本地的,或者存在服务器上的 Session,更安全,但浏览器一关掉就失效了。
但 HTTP 有一个问题,因为信息都是一起打包的,快递盒里有啥都写在上面,容易被半路截道,甚至被掉包,或者被修改了收货地址,不够安全。
[attach]46353[/attach]

于是请了一个专业镖师团队,HTTPS 来了,这个 S 是 Secure 安全的意思,用的是SSL协议(SecureSocket Layer 安全套接层),1997 年由喜闻乐见的 Netscape 网景公司开发,没错,就是 Mozilla 项目组后来出的网景浏览器的那家,它最早支持 HTML 框架显示,让网页有了更先进的视觉体验(浏览器历史戳这里)。
[attach]46354[/attach]

后来出现了继任者TLS(TransportLayer Security 传输层安全),如今已到了 1.3 版本。混合加密,还有校验机制,非常安全加密很必要,但加密解密也是吃资源的,工作效率比不加密慢的多。
[attach]46355[/attach]

你和服务器握一次手,一个来回算一次 RTT(Round TripTime),每层协议的连接、握手,都会增加 RTT。比方说你上一个外网,距离很远,那么一次 RTT 时间要 70ms,那么四次就是 280ms,如果多一个 TLS 环节,自然会变得更慢了。




欢迎光临 镇江0511之家 (http://www.0511.ac.cn/) Powered by Discuz! X3.2