Fork me on GitHub
摘要: 一、HTTPS 建立连接 当你在浏览器地址栏里键入“https”开头的 URI,再按下回车,会发生什么呢? 浏览器首先要从 URI 里提取出协议名和域名。因为协议名是“https”,所以浏览器就知道了端口号是默认的 443,它再用 DNS 解析域名,得到目标的 IP 地址,然后就可以使用三次握手与网 阅读全文
posted @ 2021-02-24 17:47 叶语婷 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 上一讲中我们学习了对称加密和非对称加密,以及两者结合起来的混合加密,实现了机密性。 但仅有机密性,离安全还差的很远。 黑客虽然拿不到会话密钥,无法破解密文,但可以通过窃听收集到足够多的密文,再尝试着修改、重组后发给网站。因为没有完整性保证,服务器只能“照单全收”,然后他就可以通过服务器的响应获取进一 阅读全文
posted @ 2021-02-24 17:44 叶语婷 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 实现机密性最常用的手段是“加密”(encrypt),就是把消息用某种方式转换成谁也看不懂的乱码,只有掌握特殊“钥匙”的人才能再转换出原始文本。 这里的“钥匙”就叫做“密钥”(key),加密前的消息叫“明文”(plain text/clear text),加密后的乱码叫“密文”(ciph 阅读全文
posted @ 2021-02-24 17:38 叶语婷 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要有 HTTPS?简单的回答是“因为 HTTP 不安全”。 由于 HTTP 天生“明文”的特点,整个传输过程完全透明,任何人都能够在链路中截获、修改或者伪造请求 / 响应报文,数据不具有可信性。 既然 HTTP“不安全”,那什么样的通信过程才是安全的呢? 通常认为,如果通信过程具备了四个特 阅读全文
posted @ 2021-02-24 17:30 叶语婷 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 一、缓存代理服务 还是以生鲜超市为例子: 便利店作为超市的代理,生意非常红火,顾客和超市双方都对现状非常满意。但时间一长,超市发现还有进一步提升的空间,因为每次便利店接到顾客的请求后都要专车跑一趟超市,还是挺麻烦的。 干脆这样吧,给便利店配发一个大冰柜。水果海鲜什么的都可以放在冰柜里,只要产品在保鲜 阅读全文
posted @ 2021-02-24 16:06 叶语婷 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 在前面讲 HTTP 协议的时候,我们严格遵循了 HTTP 的“请求 - 应答”模型,协议中只有两个互相通信的角色,分别是“请求方”浏览器(客户端)和“应答方”服务器。今天,我们要在这个模型里引入一个新的角色,那就是HTTP 代理。 引入 HTTP 代理后,原来简单的双方通信就变复杂了一些,加入了一个 阅读全文
posted @ 2021-02-24 15:59 叶语婷 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 缓存(Cache)是计算机性能的一个重要概念。 由于链路漫长,网络时延不可控,浏览器使用 HTTP 获取资源的成本较高。所以,非常有必要把“来之不易”的数据缓存起来,下次再请求的时候尽可能地复用。 一、服务器的缓存控制(服务器负责控制,浏览器负责缓存) 我们以生鲜速递作为例子说一下。 如果我现在想要 阅读全文
posted @ 2021-02-24 15:41 叶语婷 阅读(86) 评论(0) 推荐(0) 编辑
摘要: “超文本”里含有“超链接”,可以从一个“超文本”跳跃到另一个“超文本”,对线性结构的传统文档是一个根本性的变革。能够使用“超链接”在网络上任意地跳转也是万维网的一个关键特性。它把分散在世界各地的文档连接在一起,形成了复杂的网状结构,用户可以在查看时随意点击链接、转换页面。由浏览器的使用者主动发起的, 阅读全文
posted @ 2021-02-24 11:57 叶语婷 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 前面有说到HTTP的性能,七个字概括:“不算差,不够好”,还了解到有“队头阻塞”这一说法,这节学习的重点就是围绕“队头阻塞'这一说法来进行。 一、短连接 HTTP传输数据基于 TCP/IP,每次发送请求前需要先与服务器建立连接,收到响应报文后会立即关闭连接。客户端与服务器的整个连接过程很短暂,不会与 阅读全文
posted @ 2021-02-24 11:16 叶语婷 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 一、数据压缩 上一篇博文有说到,如果文件过大,通常浏览器在发送请求时都会带着“Accept-Encoding”头字段,里面是浏览器支持的压缩格式列表,例如 gzip、deflate、br 等,这样服务器就可以从中选择一种压缩算法,放进“Content-Encoding”响应头里,再把原数据压缩后发给 阅读全文
posted @ 2021-02-24 10:57 叶语婷 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 我们在前面学到了HTTP报文结构,是由header+body组成。不过我们前面学的知识都还只是停留在header部分,所以现在我们要开始研究body部分。这便引出了HTTP的实体数据概念。 1. 数据类型和编码 在 TCP/IP 协议栈里,传输数据基本上都是“header+body”的格式。但 TC 阅读全文
posted @ 2021-02-24 10:26 叶语婷 阅读(104) 评论(0) 推荐(0) 编辑