编程进阶网 编程进阶网
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • 计算机原理

  • 网络协议

    • README
      • 系列概述
      • 学习路线图
      • 推荐阅读顺序
      • 核心方法论
      • 适合人群
    • 通过看新闻熟悉网络
    • 通过购物熟悉加密
    • 从0到1部书电商网站
    • 请求网络的通用流程
    • 网络编程模型的概念
    • 传输协议TCP和UDP
    • Socket的发展和设计
    • 传输数据的设计思想
    • 网络域名解析的流程
    • HTTP服务设计流程
    • HTTP协议设计思想
    • HTTPS协议设计策略
    • HTTP连接和跳转
    • HTTP代理和缓存设计
    • 如何去排查网络故障
    • WebSocket实时通信
    • HTTP3与QUIC协议
  • 操作系统

  • 数据库原理

  • 计算机
  • 网络协议
杨充
2020-09-16
目录

README

# 网络协议理论系列

# 系列概述

本系列从"一个网络请求的完整生命周期"出发,由浅入深地剖析计算机网络的核心协议与设计思想。不限定编程语言,重点讲解设计原理、演变历程和工程实践。

# 学习路线图

  入门感知层                    协议深入层                    实战应用层                   进阶协议层
 ┌──────────┐              ┌──────────────┐              ┌───────────┐              ┌──────────┐
 │01.看新闻  │──→           │06.TCP和UDP   │──→           │10.HTTP服务 │──→           │16.WebSocket│
 │02.购物加密│   ┌────────→ │07.Socket设计  │   ┌────────→│13.连接跳转 │   ┌────────→│17.HTTP3   │
 │03.部署电商│   │          │08.数据传输    │   │          │14.代理缓存 │   │          └──────────┘
 │04.请求流程│   │          │09.域名解析    │   │          │15.排查故障 │   │
 │05.编程模型│───┘          │11.HTTP协议    │───┘          └───────────┘   │
 └──────────┘              │12.HTTPS协议   │                               │
                           └──────────────┘                               │

1
2
3
4
5
6
7
8
9
10

# 推荐阅读顺序

阶段 文档 核心内容 难度
第一阶段:建立全景认知
1 01.请求网络的通用流程 从浏览器输入URL到页面渲染的完整过程,OSI/TCP-IP分层设计 ★☆☆
2 02.通过看新闻熟悉网络 以访问新闻网站为例,HTTP请求-响应全流程实战 ★☆☆
3 03.通过购物熟悉加密 对称/非对称加密、数字证书、HTTPS工作模式 ★★☆
4 04.从0到1部署电商网站 服务器部署、BGP路由、CDN、域名解析全链路 ★★☆
第二阶段:协议核心原理
5 05.网络编程模型的概念 客户端-服务端模型、IP/端口/子网、DNS域名系统 ★★☆
6 06.传输协议TCP和UDP 三次握手/四次挥手、滑动窗口、拥塞控制、UDP应用场景 ★★★
7 07.Socket的发展和设计 Socket本质、TCP/UDP Socket编程、IO多路复用(select/epoll) ★★★
8 08.传输数据的设计思想 报文封装/解封装、TCP流、数据包/帧的分层设计 ★★☆
9 09.网络域名解析的流程 DNS递归/迭代查询、DNS缓存、MAC地址在通信中的角色 ★★☆
第三阶段:HTTP/HTTPS深入
10 10.HTTP服务设计流程 HTTP服务端架构、请求处理流水线 ★★★
11 11.HTTP协议设计思想 URI/URL设计、HTTP版本演进(1.0→1.1→2.0)、无状态/无连接 ★★★
12 12.HTTPS协议设计策略 SSL/TLS原理、CA证书链、中间人攻击、HTTPS性能优化 ★★★
第四阶段:工程实践
13 13.HTTP连接和跳转 Keep-Alive、连接池、重定向机制 ★★☆
14 14.HTTP代理和缓存设计 正向/反向代理、缓存策略(强缓存/协商缓存) ★★★
15 15.如何去排查网络故障 ping/traceroute/curl/tcpdump/Wireshark实战 ★★★
第五阶段:进阶协议
16 16.WebSocket实时通信 HTTP Upgrade握手、帧格式、心跳保活、聊天/推送实战 ★★★
17 17.HTTP3与QUIC协议 TCP队头阻塞→UDP、QUIC 0-RTT、连接迁移、HTTP/3现状 ★★★★

# 核心方法论

本系列采用 疑惑→答疑→论证→结果 的技术演变展示模式:

  1. 疑惑:提出一个真实的技术困惑(如:为什么TCP需要三次握手而不是两次?)
  2. 答疑:给出核心答案(防止历史连接请求的干扰)
  3. 论证:用具体场景和数据证明(网络延迟导致的旧SYN到达场景)
  4. 结果:总结设计演变和最佳实践

# 适合人群

  • 想系统学习计算机网络的开发者(不限语言)
  • 需要理解网络协议底层原理的后端/客户端工程师
  • 准备技术面试中网络相关知识的求职者
  • 对网络排障有实际需求的运维工程师
上次更新: 2026/06/07, 18:47:40
计算机IO操作和原理
通过看新闻熟悉网络

← 计算机IO操作和原理 通过看新闻熟悉网络→

最近更新
01
信号崩溃快速排查
06-15
02
CoreDump破案
06-15
03
perf火焰图实战
06-15
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式