Web协议详解与抓包实战
共121课时
437
首单特价
立即购买¥68199
VIP专属
领域会员免费
课程收录到: 前端工程师
首单特价
立即购买¥68199
VIP专属
领域会员免费
陶辉
陶辉,杭州智链达数据有限公司 CTO 兼联合创始人,前阿里云高级技术专家,腾讯云TVP,著有《深入理解 Nginx:模块开发与架构解析》一书。 陶辉曾任职于阿里巴巴、华为、腾讯、思科等知名企业,有近20年互联网一线工作经验,目前致力于 Linux 下高性能服务器的开发,以及分布式环境下海量数据存储的设计工作。 另外,陶辉也是极客时间视频课程《Nginx核心知识100讲》《Web协议详解与抓包实战》的作者。
课程概述
课程评价
互动留言

你将获得

  1. 深入理解常用 Web 协议;
  2. 快速定位和解决网络疑难杂症;
  3. 掌握常见抓包工具及报文分析方法;
  4. 熟悉 Web 协议的架构和设计原则。

课程介绍

「极客时间出品」

不少工程师在工作中多多少少都会遇到下面的困惑,比如:

  • AJAX 跨域访问时总被浏览器的同源策略阻止,其背后的原理及符合其设计思想的解决方案是什么?
  • 当我们维护 HTTPS 连接时,如果要优化 TLS/SSL 的卸载性能,应该从哪里入手?
  • 定位问题时,发现本地的 TCP 连接状态中出现了FIN_WAIT、CLOSE_WAIT 或者 TIME_WAIT,都是什么原因引起的?应该怎样解决?
  • 想要提升TCP连接的传输速度,可服务器上相关的系统参数多达数十个,究竟该怎么调整?

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

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

  • 覆盖全面:内容包含 HTTP/1.1、HTTP/2、WebSocket、TLS/SSL以及TCP/IP等工作中常用的 Web 协议,将各个零散的知识点组织成体系化的内容。
  • 抓包实战:不光有理论讲解,关键知识点会配合相应的抓包工具进行演示,帮你更轻松地搞懂各种协议的抽象细节,从而在工作中快速定位和解决各种网络疑难杂症。
  • 自顶向下:先从应用层协议讲起(HTTP),让你带着具体问题去进行有针对性的学习,最后会逐步过渡到底层的 IP 协议,这样你就能从更高的层面理解Web协议的体系架构。
  • 适用广泛:无论是前后端工程师、运维测试工程师还是架构师,只要是工作中经常要和网络打交道的技术人员,都可以学习这门课程。

课程目录

课程目录
  • 01 | 课程介绍
    5分53秒   试读
  • 2
    02 | 内容综述
    6分57秒   试读
  • 3
    03 | 浏览器发起HTTP请求的典型场景
    7分31秒   试读
  • 4
    04 | 基于ABNF语义定义的HTTP消息格式
    14分53秒  
  • 5
    05 | 网络为什么要分层:OSI模型与TCP/IP模型
    10分32秒  
  • 6
    06 | HTTP解决了什么问题?
    9分34秒  
  • 7
    07 | 评估Web架构的七大关键属性
    12分20秒  
  • 8
    08 | 从五种架构风格推导出HTTP的REST架构
    24分23秒  
  • 9
    09 | 如何用Chrome的Network面板分析HTTP报文
    20分52秒  
  • 10
    10 | URI的基本格式以及与URL的区别
    11分11秒  
  • 11
    11 | 为什么要对URI进行编码?
    4分52秒  
  • 12
    12 | 详解HTTP的请求行
    11分3秒  
  • 13
    13 | HTTP的正确响应码
    10分49秒  
  • 14
    14 | HTTP的错误响应码
    13分17秒  
  • 15
    15 | 如何管理跨代理服务器的长短连接?
    10分28秒  
  • 16
    16 | HTTP消息在服务器端的路由
    4分42秒  
  • 17
    17 | 代理服务器转发消息时的相关头部
    5分31秒  
  • 18
    18 | 请求与响应的上下文
    8分11秒  
  • 19
    19 | 内容协商与资源表述
    11分34秒  
  • 20
    20 | HTTP包体的传输方式(1):定长包体
    9分41秒  
  • 21
    21 | HTTP包体的传输方式(2):不定长包体
    14分23秒  
  • 22
    22 | HTML form表单提交时的协议格式
    19分26秒  
  • 23
    23 | 断点续传与多线程下载是如何做到的?
    15分43秒  
  • 24
    24 | Cookie的格式与约束
    11分35秒  
  • 25
    25 | Session及第三方Cookie的工作原理
    11分29秒  
  • 26
    26 | 浏览器为什么要有同源策略?
    11分30秒  
  • 27
    27 | 如何“合法”地跨域访问?
    12分55秒  
  • 28
    28 | 条件请求的作用
    15分14秒  
  • 29
    29 | 缓存的工作原理
    12分18秒  
  • 30
    30 | 缓存新鲜度的四种计算方式
    10分41秒  
  • 31
    31 | 复杂的Cache-Control头部
    8分8秒  
  • 32
    32 | 什么样的响应才会被缓存
    11分25秒  
  • 33
    33 | 多种重定向跳转方式的差异
    11分51秒  
  • 34
    34 | 如何通过HTTP隧道访问被限制的网络
    4分57秒  
  • 35
    35 | 网络爬虫的工作原理与应对方式
    13分11秒  
  • 36
    36 | HTTP协议的基本认证
    6分52秒  
  • 37
    37 | Wireshark的基本用法
    16分2秒  
  • 38
    38 | 如何通过DNS协议解析域名?
    14分20秒  
第二章:WebSocket协议
  • 1
    39 | Wireshark的捕获过滤器
    11分25秒  
  • 2
    40 | Wireshark的显示过滤器
    9分25秒  
  • 3
    41 | Websocket解决什么问题
    9分1秒  
  • 4
    42 | Websocket的约束
    6分32秒  
  • 5
    43 | WebSocket协议格式
    6分6秒  
  • 6
    44 | 如何从HTTP升级到WebSocket
    7分29秒  
  • 7
    45 | 传递消息时的编码格式
    9分29秒  
  • 8
    46 | 掩码及其所针对的代理污染攻击
    7分42秒  
  • 9
    47 | 如何保持会话心跳
    2分58秒  
  • 10
    48 | 如何关闭会话
    6分19秒  
第三章:HTTP/2协议
  • 1
    49 | HTTP/1.1发展中遇到的问题
    8分21秒  
  • 2
    50 | HTTP/2特性概述
    7分25秒  
  • 3
    51 | 如何使用Wireshark解密TLS/SSL报文?
    8分3秒  
  • 4
    52 | h2c:在TCP上从HTTP/1升级到HTTP/2
    8分44秒  
  • 5
    53 | h2:在TLS上从HTTP/1升级到HTTP/2
    5分37秒  
  • 6
    54 | 帧、消息、流的关系
    6分25秒  
  • 7
    55 | 帧格式:Stream流ID的作用
    8分36秒  
  • 8
    56 | 帧格式:帧类型及设置帧的子类型
    7分42秒  
  • 9
    57 | HPACK如何减少HTTP头部的大小?
    5分39秒  
  • 10
    58 | HPACK中如何使用Huffman树编码?
    7分52秒  
  • 11
    59 | HPACK中整型数字的编码
    5分52秒  
  • 12
    60 | HPACK中头部名称与值的编码格式
    13分44秒  
  • 13
    61 | 服务器端的主动消息推送
    8分2秒  
  • 14
    62 | Stream的状态变迁
    5分57秒  
  • 15
    63 | RST_STREAM帧及常见错误码
    5分5秒  
  • 16
    64 | 我们需要Stream优先级
    6分19秒  
  • 17
    65 | 不同于TCP的流量控制
    9分6秒  
  • 18
    66 | HTTP/2与gRPC框架
    10分22秒  
  • 19
    67 | HTTP/2的问题及HTTP/3的意义
    9分28秒  
  • 20
    68 | HTTP/3: QUIC协议格式
    7分17秒  
  • 21
    69 | 七层负载均衡做了些什么?
    9分53秒  
第四章:TLS/SSL协议
  • 1
    70 | TLS协议的工作原理
    4分34秒  
  • 2
    71 | 对称加密的工作原理(1):XOR与填充
    6分19秒  
  • 3
    72 | 对称加密的工作原理(2):工作模式
    6分3秒  
  • 4
    73 | 详解AES对称加密算法
    7分11秒  
  • 5
    74 | 非对称密码与RSA算法
    6分39秒  
  • 6
    75 | 基于openssl实战验证RSA
    6分41秒  
  • 7
    76 | 非对称密码应用:PKI证书体系
    9分56秒  
  • 8
    77 | 非对称密码应用:DH密钥交换协议
    8分13秒  
  • 9
    78 | ECC椭圆曲线的特性
    5分37秒  
  • 10
    79 | DH协议升级:基于椭圆曲线的ECDH协议
    6分57秒  
  • 11
    80 | TLS1.2与TLS1.3 中的ECDH协议
    7分28秒  
  • 12
    81 | 握手的优化:session缓存、ticket票据及TLS1.3的0-RTT
    8分14秒  
  • 13
    82 | TLS与量子通讯的原理
    5分16秒  
  • 14
    83 | 量子通讯BB84协议的执行流程
    7分28秒  
第五章:TCP协议
  • 1
    84 | TCP历史及其设计哲学
    6分58秒  
  • 2
    85 | TCP解决了哪些问题
    9分9秒  
  • 3
    86 | TCP报文格式
    9分42秒  
  • 4
    87 | 如何使用tcpdump分析网络报文
    12分44秒  
  • 5
    88 | 三次握手建立连接
    5分56秒  
  • 6
    89 | 三次握手过程中的状态变迁
    5分32秒  
  • 7
    90 | 三次握手中的性能优化与安全问题
    7分46秒  
  • 8
    91 | 数据传输与MSS分段
    5分35秒  
  • 9
    92 | 重传与确认
    8分35秒  
  • 10
    93 | RTO重传定时器的计算
    7分27秒  
  • 11
    94 | 滑动窗口:发送窗口与接收窗口
    5分27秒  
  • 12
    95 | 窗口的滑动与流量控制
    8分55秒  
  • 13
    96 | 操作系统缓冲区与滑动窗口的关系
    9分4秒  
  • 14
    97 | 如何减少小报文提高网络效率
    8分50秒  
  • 15
    98 | 拥塞控制(1):慢启动
    6分41秒  
  • 16
    99 | 拥塞控制(2):拥塞避免
    4分9秒  
  • 17
    100 | 拥塞控制(3):快速重传与快速恢复
    7分20秒  
  • 18
    101 | SACK与选择性重传算法
    6分0秒  
  • 19
    102 | 从丢包到测量驱动的拥塞控制算法
    6分19秒  
  • 20
    103 | Google BBR拥塞控制算法原理
    11分13秒  
  • 21
    104 | 关闭连接过程优化
    6分59秒  
  • 22
    105 | 优化关闭连接时的TIME-WAIT状态
    5分15秒  
  • 23
    106 | keepalive 、校验和及带外数据
    5分15秒  
  • 24
    107 | 面向字节流的TCP连接如何多路复用
    5分43秒  
  • 25
    108 | 四层负载均衡可以做什么
    6分2秒  
第六章:IP协议
  • 1
    109 | 网络层与链路层的功能
    8分34秒  
  • 2
    110 | IPv4分类地址
    6分54秒  
  • 3
    111 | CIDR无分类地址
    6分55秒  
  • 4
    112 | IP地址与链路地址的转换:ARP与RARP协议
    8分21秒  
  • 5
    113 | NAT地址转换与LVS负载均衡
    11分25秒  
  • 6
    114 | IP选路协议
    10分46秒  
  • 7
    115 | MTU与IP报文分片
    9分38秒  
  • 8
    116 | IP协议的助手:ICMP协议
    8分37秒  
  • 9
    117 | 多播与IGMP协议
    8分4秒  
  • 10
    118 | 支持万物互联的IPv6地址
    9分38秒  
  • 11
    119 | IPv6报文及分片
    10分2秒  
  • 12
    120 | 从wireshark报文统计中找规律
    15分21秒  
  • 13
    121 | 结课测试&结束语
    2分11秒