深入理解常用Web协议-系统掌握Web协议,高效解决网络难题

无论你是前后端工程师,还是运维测试,如果想面试更高的职位,或者要站在更高的角度去理解技术业务架构,并能在问题出现时快速、高效地解决问题,Web 协议一定是你绕不过去的一道坎。

这门课程旨在帮助你对各种常用 Web 协议有一个系统、深度的理解,在此基础上你将能够快速定位和解决工作中的各种网络疑难杂症,同时也为后续进行更复杂、难度更高的分布式系统架构设计等工作打下坚实的基础。

资源目录

第一章:HTTP/1.1协议 (38讲)

01 | 课程介绍

02 | 内容综述

03 | 浏览器发起HTTP请求的典型场景

04 | 基于ABNF语义定义的HTTP消息格式

05 | 网络为什么要分层:OSI模型与TCP/IP模型

06 | HTTP解决了什么问题?

07 | 评估Web架构的七大关键属性

08 | 从五种架构风格推导出HTTP的REST架构

09 | 如何用Chrome的Network面板分析HTTP报文

10 | URI的基本格式以及与URL的区别

11 | 为什么要对URI进行编码?

12 | 详解HTTP的请求行

13 | HTTP的正确响应码

14 | HTTP的错误响应码

15 | 如何管理跨代理服务器的长短连接?

16 | HTTP消息在服务器端的路由

17 | 代理服务器转发消息时的相关头部

18 | 请求与响应的上下文

19 | 内容协商与资源表述

20 | HTTP包体的传输方式(1):定长包体

21 | HTTP包体的传输方式(2):不定长包体

22 | HTML form表单提交时的协议格式

23 | 断点续传与多线程下载是如何做到的?

24 | Cookie的格式与约束

25 | Session及第三方Cookie的工作原理

26 | 浏览器为什么要有同源策略?

27 | 如何“合法”地跨域访问?

28 | 条件请求的作用

29 | 缓存的工作原理

30 | 缓存新鲜度的四种计算方式

31 | 复杂的Cache-Control头部

32 | 什么样的响应才会被缓存

33 | 多种重定向跳转方式的差异

34 | 如何通过HTTP隧道访问被限制的网络

35 | 网络爬虫的工作原理与应对方式

36 | HTTP协议的基本认证

37 | Wireshark的基本用法

38 | 如何通过DNS协议解析域名?

第二章:WebSocket协议 (10讲)

39 | Wireshark的捕获过滤器

40 | Wireshark的显示过滤器

41 | Websocket解决什么问题

42 | Websocket的约束

43 | WebSocket协议格式

44 | 如何从HTTP升级到WebSocket

45 | 传递消息时的编码格式

46 | 掩码及其所针对的代理污染攻击

47 | 如何保持会话心跳

48 | 如何关闭会话

第三章:HTTP/2协议 (21讲)

49 | HTTP/1.1发展中遇到的问题

50 | HTTP/2特性概述

51 | 如何使用Wireshark解密TLS/SSL报文?

52 | h2c:在TCP上从HTTP/1升级到HTTP/2

53 | h2:在TLS上从HTTP/1升级到HTTP/2

54 | 帧、消息、流的关系

55 | 帧格式:Stream流ID的作用

56 | 帧格式:帧类型及设置帧的子类型

57 | HPACK如何减少HTTP头部的大小?

58 | HPACK中如何使用Huffman树编码?

59 | HPACK中整型数字的编码

60 | HPACK中头部名称与值的编码格式

61 | 服务器端的主动消息推送

62 | Stream的状态变迁

63 | RST_STREAM帧及常见错误码

64 | 我们需要Stream优先级

65 | 不同于TCP的流量控制

66 | HTTP/2与gRPC框架

67 | HTTP/2的问题及HTTP/3的意义

68 | HTTP/3: QUIC协议格式

69 | 七层负载均衡做了些什么?

第四章:TLS/SSL协议 (14讲)

70 | TLS协议的工作原理

71 | 对称加密的工作原理(1):XOR与填充

72 | 对称加密的工作原理(2):工作模式

73 | 详解AES对称加密算法

74 | 非对称密码与RSA算法

75 | 基于openssl实战验证RSA

76 | 非对称密码应用:PKI证书体系

77 | 非对称密码应用:DH密钥交换协议

78 | ECC椭圆曲线的特性

79 | DH协议升级:基于椭圆曲线的ECDH协议

80 | TLS1.2与TLS1.3 中的ECDH协议

81 | 握手的优化:session缓存、ticket票据及TLS1.3的0-RTT

82 | TLS与量子通讯的原理

83 | 量子通讯BB84协议的执行流程

第五章:TCP协议 (25讲)

84 | TCP历史及其设计哲学

85 | TCP解决了哪些问题

86 | TCP报文格式

87 | 如何使用tcpdump分析网络报文

88 | 三次握手建立连接

89 | 三次握手过程中的状态变迁

90 | 三次握手中的性能优化与安全问题

91 | 数据传输与MSS分段

92 | 重传与确认

93 | RTO重传定时器的计算

94 | 滑动窗口:发送窗口与接收窗口

95 | 窗口的滑动与流量控制

96 | 操作系统缓冲区与滑动窗口的关系

97 | 如何减少小报文提高网络效率

98 | 拥塞控制(1):慢启动

99 | 拥塞控制(2):拥塞避免

100 | 拥塞控制(3):快速重传与快速恢复

101 | SACK与选择性重传算法

102 | 从丢包到测量驱动的拥塞控制算法

103 | Google BBR拥塞控制算法原理

104 | 关闭连接过程优化

105 | 优化关闭连接时的TIME-WAIT状态

106 | keepalive 、校验和及带外数据

107 | 面向字节流的TCP连接如何多路复用

108 | 四层负载均衡可以做什么

第六章:IP协议 (13讲)

109 | 网络层与链路层的功能

110 | IPv4分类地址

111 | CIDR无分类地址

112 | IP地址与链路地址的转换:ARP与RARP协议

113 | NAT地址转换与LVS负载均衡

114 | IP选路协议

115 | MTU与IP报文分片

116 | IP协议的助手:ICMP协议

117 | 多播与IGMP协议

118 | 支持万物互联的IPv6地址

119 | IPv6报文及分片

120 | 从wireshark报文统计中找规律

121 | 结课测试&结束语

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注