Web 协议详解与抓包实战
陶辉
智链达 CTO,前阿里云高级技术专家
43211 人已学习
新⼈⾸单¥68
课程目录
已完结/共 121 讲
第一章:HTTP/1.1协议 (38讲)
时长 05:53
时长 06:57
Web 协议详解与抓包实战
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 18 | 请求与响应的上下文
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
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协议解析域名?
39 | Wireshark的捕获过滤器
40 | Wireshark的显示过滤器
41 | Websocket解决什么问题
42 | Websocket的约束
43 | WebSocket协议格式
44 | 如何从HTTP升级到WebSocket
45 | 传递消息时的编码格式
46 | 掩码及其所针对的代理污染攻击
47 | 如何保持会话心跳
48 | 如何关闭会话
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 | 七层负载均衡做了些什么?
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协议的执行流程
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 | 四层负载均衡可以做什么
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 | 结课测试&结束语
本节摘要
登录 后留言

全部留言(10)

  • 最新
  • 精选
FF
老师,有个地方有点不明白,为什么user-agent头部会同时出现chrome和safari的访问呀

作者回复: 简单来讲,一些远古服务器会视user-agent来决定是否返回可用的页面,而chrome之前safari是被大家广泛认可的,而chrome又与safari用了同一款渲染引擎,于是便告诉服务器如果不认识chrome就按safari处理

2019-05-24
7
Dovelol
老师好,想问下通过x-forward-for来获取第一个ip值作为客户端的ip,这个header是可以伪造的,那怎么解决这个问题呢?只能用X-Real-IP这个header值了吗?如果没有这个header怎么办呢

作者回复: 所有的HTTP Header都可以伪造,包括x-real-ip。 Nginx如果知道它上一跳的真实地址(假设是某个运营商机房的CDN,设为A),这样上一跳远端(设为B)的地址就是真实的,因为x-forward-for是上一跳参与的,这也是set_real_ip_from指令的意义。这样,至少x-forward-for中从右至左A、B是可信的,再往后还是要看管理员对此的信任度。

2020-11-21
3
qzmone
老师,chrome开发工具中,你是如何调的Name那一列有两行数据的?下面那行资源是如何显示的?

作者回复: 右边设置图标点击后,选中“Use large request rows”

2020-03-05
1
Wawor
老师,我想请问一下,User-Agent你的举例里面,第二个,从哪点判断发送的请求是Chrome还是Safari?

作者回复: Chrome会“冒充”safari,反之不成立

2019-08-26
       鸟人
user-agent头部 可以后面可以接1个或者多个product 那么多个是指没有数量限制么? 多个的话,如果后面接的是win 然后在接一个安卓的 那么服务器会怎样是哪个操作系统呢?
2019-06-07
1
2
天心
陶老师,两个问题请教下。1.在看到视频3:32秒的时候,发现您的www.taohui.pub这个请求也使用了强缓存,但是我从这篇文章中看到webkit内核无法对主请求使用200强缓存:https://www.cnblogs.com/Proteas/p/3513495.html,里面有这样一段话:If you study the diagram above, you will notice that the Cache is used only for subresources. In particular, main resource loads do not get the benefits of WebKit’s memory cache. If we can unify these two loading pipelines, we might be able to improve the performance of main resource loads. Over time, we hope to improve the performance of the loader to make loading web pages as fast as possible. 而且我看了很多网站只有您这一个网站的主请求是200 from cache的,请问您是如何做到的? 2.关于response和request header首字母大小写的问题,我从您视频中看到是首字母大写,但是我自己浏览器访问您的站点看到首字母是小写,然后我从rfc2616中看到说明header是大小写无关的,那么造成这种差异的原因是什么呢?谢谢。
2020-05-02
余文郁
Origin字段只有cors跨域才会携带吗
2020-04-25
搞学习
思考了一下,好像应该是: 从A页面通过https访问到B页面 而B页面的资源是通过http请求的 这些http请求就不会带上referer是吗?
2020-04-02
1
搞学习
有点没看懂这句:当前请求页面采用的是http协议,而来源页面采用的是https协议。 请问这意思是说我从一个页面A请求B页面,通过http的方式访问 而B页面的资源请求是https的,这些就不会带上referer嘛?
2020-04-02
-_-|||
请求是https,来源是http会不会有referer。
2020-02-21
收起评论