极客时间 透视http笔记 破冰 01

极客时间:https://time.geekbang.org/column/article/100124

01 | 时势与英雄:HTTP的前世今生

①HTTP 协议始于三十年前蒂姆·伯纳斯 - 李的一篇论文;

②HTTP/0.9 是个简单的文本协议,只能获取文本资源;

③HTTP/1.0 确立了大部分现在使用的技术,但它不是正式标准;

④HTTP/1.1 是目前互联网上使用最广泛的协议,功能也非常完善;

⑥HTTP/2 基于 Google 的 SPDY 协议,注重性能改善,但还未普及;

⑦HTTP/3 基于 Google 的 QUIC 协议,是将来的发展方向。

02 | HTTP是什么?HTTP又不是什么?

①HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。

②HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。

③HTTP 传输的是文字、图片、音频、视频等超文本数据。

④HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。

03 | HTTP世界全览(上):与HTTP相关的各种概念

  1. 互联网上绝大部分资源都使用 HTTP 协议传输;
  2. 浏览器是 HTTP 协议里的请求方,即 User Agent;
  3. 服务器是 HTTP 协议里的应答方,常用的有 Apache 和 Nginx;
  4. CDN 位于浏览器和服务器之间,主要起到缓存加速的作用;
  5. 爬虫是另一类 User Agent,是自动访问网络资源的程序。

04 | HTTP世界全览(下):与HTTP相关的各种协议

  1. TCP/IP 是网络世界最常用的协议,HTTP 通常运行在 TCP/IP 提供的可靠传输基础上;
  2. DNS 域名是 IP 地址的等价替代,需要用域名解析实现到 IP 地址的映射;
  3. URI 是用来标记互联网上资源的一个名字,由“协议名 + 主机名 + 路径”构成,俗称 URL;
  4. HTTPS 相当于“HTTP+SSL/TLS+TCP/IP”,为 HTTP 套了一个安全的外壳;
  5. 代理是 HTTP 传输过程中的“中转站”,可以实现缓存加速、负载均衡等功能;

05 | 常说的“四层”和“七层”到底是什么?“五层”“六层”哪去了? 

  1. TCP/IP 分为四层,核心是二层的 IP 和三层的 TCP,HTTP 在第四层;
  2. OSI 分为七层,基本对应 TCP/IP,TCP 在第四层,HTTP 在第七层;
  3. OSI 可以映射到 TCP/IP,但这期间一、五、六层消失了;
  4. 日常交流的时候我们通常使用 OSI 模型,用四层、七层等术语;
  5. HTTP 利用 TCP/IP 协议栈逐层打包再拆包,实现了数据传输,但下面的细节并不可见。
  6. 有一个辨别四层和七层比较好的(但不是绝对的)小窍门,“两个凡是”:凡是由操作系统负责处理的就是四层或四层以下,否则,凡是需要由应用程序(也就是你自己写代码)负责处理的就是七层。

06 | 域名里有哪些门道?

  1. 域名使用字符串来代替 IP 地址,方便用户记忆,本质上一个名字空间系统;
  2. DNS 就像是我们现实世界里的电话本、查号台,统管着互联网世界里的所有网站,是一个“超级大管家”;
  3. DNS 是一个树状的分布式查询系统,但为了提高查询效率,外围有多级的缓存;
  4. 使用 DNS 可以实现基于域名的负载均衡,既可以在内网,也可以在外网。

07 | 自己动手,搭建HTTP实验环境

  1. 现实的网络环境太复杂,有很多干扰因素,搭建“最小化”的环境可以快速抓住重点,掌握 HTTP 的本质;
  2. 我们选择 Wireshark 作为抓包工具,捕获在 TCP/IP 协议栈中传输的所有流量;
  3. 我们选择 Chrome 或 Firefox 浏览器作为 HTTP 协议中的 user agent;
  4. 我们选择 OpenResty 作为 Web 服务器,它是一个 Nginx 的“强化包”,功能非常丰富;
  5. Telnet 是一个命令行工具,可用来登录主机模拟浏览器操作;
  6. 在 GitHub 上可以下载到本专栏的专用项目源码,只要把 OpenResty 解压到里面即可完成实验环境的搭建。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值