“在浏览器地址栏输入一个网址,按下回车,到页面显示出来,中间发生了什么?” 这是网络方向最经典的面试题。它的价值在于可
本文是网络系列的第一篇。整个系列自底向上展开:先讲清每一层负责什么,再逐层深入到链路层、网络层、传输层、应用层。 如果你想先看一个请求从头到尾
前置阅读:网络-01 网络分层模型 1. 链路层 1.1 数据链路层的主要功能 封装成帧 差错控制 流量控制 链路控制 MAC寻址 区分数据和控制信息 透明传输 成帧(帧同
前置阅读:网络-02 链路层 本文只讲 IP 协议本身和地址规划,网关、路由与 NAT 见 网络-05,IP 分片与 MTU 见 网络-04。 1. 网络层的职责 网络层负责在不同
分段特指发生在使用TCP协议的传输层中的数据切分行为 分片特指发生在使用IPv4协议的网络IP层中的数据切分行为 1. 最大传输单元(Maximum
前置阅读:网络-03 IP 协议 上一篇讲了同一子网内怎么判断"我们是不是一家人"(IP 与子网掩码做与运算)。这一篇解决剩下的问
前置阅读:网络-03 IP 协议 传输层从这一篇开始。先讲简单的 UDP,再用它作为参照理解 TCP 为什么复杂——TCP 详见 网络-07 起的三篇。 1. UDP 首部格式
前置阅读:网络-06 UDP 与 TCP 对比 TCP 内容较多,本系列拆成四篇:本篇讲连接的建立与关闭,网络-08 讲可靠传输,网络-09 讲流量控制与拥塞控制,网络
前置阅读:网络-07 TCP 连接管理 1. TCP 首部 主要字段的作用: Source Port和Destination Port:分别占用16位,表示源端口号和目的端口号;
前置阅读:网络-08 TCP 可靠传输 1. 滑动窗口 客户端每次发送后,服务端对其响应,没有收到响应时会等待并重发。这样效率是低下的,由此引入“窗口”来提
前置阅读:网络-07 TCP 连接管理、网络-09 TCP 流量控制与拥塞控制 前面几篇讲的是 TCP 的原理,这一篇讲线上真出问题时怎么定位和处置。原理部分不再重复
DNS(Domain Name System)把域名翻译成 IP 地址。它是每一次网络访问的第一步——DNS 慢了,后面所有优化都白费。 1. 域名分级 域名从右往左
前置阅读:网络-07 TCP 连接管理 本文讲 HTTP 协议本身的构成,版本演进(0.9→1.1→2)见 网络-15。 HTTP(HyperText Transfer Protoc
前置阅读:网络-12 HTTP 报文、方法与状态码 缓存是 Web 性能优化里投入产出比最高的一项——命中缓存意味着零网络请求、零服务端压力。HTTP 缓存分两大
前置阅读:网络-12 HTTP 报文、方法与状态码 HTTP 是无状态的——服务端不会记住上一个请求是谁发的。但真实业务需要"登录状态"这种
1. HTTP/0.9 HTTP/0.9 虽然简单,但是它充分验证了 Web 服务的可行性」 首先它只有一个命令GET。 它没有HEADER等描述数据的信息。因为这个时候的请求非常简单,它
1. 为什么要有https http是明文,容易被监听拦截。 加密呗,用对称加密,秘钥传输的时候明文传输,会被监听拦截。 可以使用非对称加密,但是非对
TLS 1.3 于 2018 年 8 月由 RFC 8446 定稿,是 TLS 十年来最大的一次改动。它不是在 1.2 上加功能,而是做了一次相当激进的删减——把历史包袱里所有不安全的选项直接从协议
前置阅读:HTTP 中的 HTTP/2 部分、TLS 1.3。 1. 为什么需要 HTTP/3 HTTP/2 用"流 + 帧"解决了 HTTP 层的队头阻塞,但留下了一个它无力解决的问
前置阅读:网络-15 HTTP 版本演进 1. 单工、半双工、全双工 先厘清三个基础术语,后面反复要用: 单工:信息只能单向传送。如广播、遥控器。 半双工:能双向