极客时间 Web协议详解与抓包实战学习记录

发现大部分技术人,多多少少都会遇到下面的困惑,好比:前端

AJAX 跨域访问时总被浏览器的同源策略阻止,其背后的原理及符合其设计思想的解决方案是什么?面试

缓存能够提高性能,但什么样的 HTTP 消息才会被浏览器或者代理服务器缓存呢?编程

抓包时收到 4xx 或者 5xx HTTP 响应码,这意味着服务器端发生了什么?后端

当咱们维护 HTTPS 链接时,若是要优化TLS/SSL 的卸载性能,应该从哪里入手?跨域

定位问题时,发现本地的 TCP 链接状态中出现了FIN_WAIT、CLOSE_WAIT 或者TIME_WAIT,都是什么缘由引发的?应该如何解决?浏览器

想要提高 TCP 链接的传输速度,可服务器上相关的系统参数多达数十个,究竟该怎么调整?缓存

时下逐渐普及的 IPv6 ,在报文上到底与 IPv4 协议有何差异?性能优化

你会发现,这些问题其实都和 Web 协议密切相关。我经常听到身边人抱怨“学不动了”,之因此会这样,大可能是由于没有掌握好互联网体系中的底层知识。这些知识点相对稳定,而其余时刻变化的知识点是构建在这些知识点之上的。一旦掌握好,就能够长久使用,而且保持快速学习的能力。服务器

Web 协议就是其中很是重要的一个模块。虽然它经常要兼容 internet 中很是古老或者有着突破性创新的浏览器或者服务器,从而也在时刻进化,但只要咱们抓住它设计时背后的指导原则,系统地将 Web 协议转化为咱们头脑中的结构体知识,就能够对咱们学习先后端开发框架、面向链接的编程语言、各类分布式组件、架构设计、微服务编程等都起到事半功倍的效果。网络

能够说,不管你是先后端工程师,仍是运维测试,若是想面试更高的职位,或者要站在更高的角度去理解技术业务架构,并能在问题出现时快速、高效地解决问题,Web 协议必定是你绕不过去的一道坎。熟练掌握各类经常使用 Web 协议,能够帮你在工做中轻松应对各类网络难题。

若是你是前端工程师,能够快速定位问题的根源在后端仍是前端,对网页性能的提高会有更多的思路。

若是你是后端工程师,能够更清晰地理解Web容器的工做原理,在网络层面快速缩小问题范围。

若是你是运维工程师,能够更明确地规划硬件及网络资源,对于故障节点的恢复也会有更系统的解决方案。

若是你是测试工程师,能够对压测工具的原理有更深刻的理解,对RPC测试用例的构造也会更全面。

若是你是架构师,将会对分布式系统下的高可用架构设计和性能优化等问题有更加体系化的认识。

但是,想要真正掌握 Web 协议,并无想象中那么容易。我发现大部分人在学习时,都卡在下面这些问题上:

Web协议的体系庞大,大多概念过于抽象,致使初学者很容易从入门到放弃。

很难快速上手,就算弄懂了复杂的概念,工做中一遇到复杂问题,仍是一头雾水,不知道如何下手。

网上有不少文章能够参考,但要不就是知识点零散,要不就是解释得走马观花,没法深刻到底层。

市面上相关的课程不多,要不就是仅仅讲述某一个协议,要不就是只从理论出发来说解,实战性不强。

除此以外,不多有人会在文章或课程里经过抓包去把 Web 协议的各个细节呈现出来,而后掰开揉碎了讲给你们。基于此,我推荐你陶辉老师在极客时间开的《Web 协议详解与抓包实战》视频课,彻底从实战出发,在关键场景中结合抓包工具进行实战分析,为你深刻浅出地讲解常见 Web 协议涉及到的核心知识,并完全掌握这些协议。

陶辉是谁?

陶辉,如今是智链达 CTO。他曾担任阿里云高级专家,也在华为、腾讯、思科等公司从事过服务器端的研发工做。相信陶辉来说 Web 协议详解与抓包实战,必定会带给你不同的收获。为何这么说?

在华为他负责 iMAP 网管系统的研发,在经过 SNMP 等协议管理众多网络设备的过程当中,对路由器交换机如何处理协议栈、选择路由、转发报文等流程有了深刻的理解;

在腾讯QQ空间,经过使用自定义的、基于 TCP 的 Qzone 协议传递巨量的数据,他对如何设计出高性能、可扩展的应用协议有了丰富的实践经验;

在思科他从事 Nginx 服务的研发,对 Web 服务器如何高效地处理 HTTP 协议有了全面的认识;

在阿里云做为 VPC 软件自定义网络项目中的管理系统架构师,他经过基于 Intel DPDK 自建网关、自定义网络层协议等工做,对 IDC 内部网络系统有了深入了解。

在《Web 协议详解与抓包实战》视频课中,陶辉老师会把本身十几年积累的第一手经验毫无保留地分享给你们。

你能得到什么?

陶辉老师会跟你一块儿从应用层到底层,经过具体问题和场景来学习 Web 协议。具体来讲,你能够有下面 4 点收获。

  1. 深刻理解经常使用 Web 协议

课程将基于应用场景深刻介绍Web协议栈中最经常使用的HTTP/1.一、Websocket、HTTP/2.0、TLS/SSL、TCP、IP协议,这些协议处在 OSI 网络栈中的不一样层级,每一层对上层协议封装、隐藏其下层协议的实现细节,而上层协议必须理解其相邻下层协议解决了什么问题,有哪些约束条件。陶辉老师会带你自上而下的学习这些协议的语法、应用场景,以创建起结构体的知识体系。

  1. 快速定位和解决网络疑难杂症

网络问题最为复杂,它涉及到多样化的客户端、技术相对封闭的网络设备、层层可能修改消息的代理服务器、快速迭代中的源服务器等,当客户端与服务器因为编程、配置错误形成系统故障时,相比在某一端使用经验式的排除法查错,从网络层面定位问题更为科学、快速而有效。

  1. 掌握常见抓包工具及报文分析方法

陶辉老师会配合抓包实践来带你深刻了解协议细节。关于抓包工具的学习,则会遵循“即用即学”的原则,用到什么学什么,让你快速上手。

对于HTTP报文的抓包实践,主要使用 Chrome 浏览器提供的开发者工具 Network 面板,同时也将使用到 curl、telnet 命令行来模拟 HTTP 请求的发送。Wireshark是这门课程的主要抓包工具,包括过滤器、各面板的使用、如何基于统计分析报文等。对于服务器端的抓包咱们会使用 tcpdump工具,并配合 Wireshark 分析报文。

  1. 熟悉 Web 协议的架构和设计原则

HTTP 最初用于解决人与机器的通信,了解指导其设计原则的REST架构,就能理解在空间上它如何应对全球性的巨型分布式网络,在时间上如何应对数十年的技术变迁。

在分层架构下各层都有其待解决的核心问题,TLS/SSL协议面对的是如何使用非对称加密协商密钥及验证身份,TCP协议面对的则是可控流量下的可靠传输,IP协议则关注报文在主机间的可达性,带着这些需求及约束,即可从容应对变化。

图片描述

相关文章
相关标签/搜索