摘要:相信陶輝來講 Web 協議詳解與抓包實戰,一定會帶給你不一樣的收穫。在《 Web 協議詳解與抓包實戰 》視頻課中,陶輝老師會把自己十幾年積累的第一手經驗毫無保留地分享給大家。

極客時間新課《 Web 協議詳解與抓包實戰 》視頻課,訪問課程主頁: http://gk.link/a/103bR

發現大部分技術人,多多少少都會遇到下面的困惑,比如:

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.1、Websocket、HTTP/2.0、TLS/SSL、TCP、IP協議,這些協議處在 OSI 網絡棧中的不同層級,每一層對上層協議封裝、隱藏其下層協議的實現細節,而上層協議必須理解其相鄰下層協議解決了什麼問題,有哪些約束條件。陶輝老師會帶你自上而下的學習這些協議的語法、應用場景,以建立起結構體的知識體系。

2. 快速定位和解決網絡疑難雜症

網絡問題最爲複雜,它涉及到多樣化的客戶端、技術相對封閉的網絡設備、層層可能修改消息的代理服務器、快速迭代中的源服務器等,當客戶端與服務器由於編程、配置錯誤造成系統故障時,相比在某一端使用經驗式的排除法查錯,從網絡層面定位問題更爲科學、快速而有效。

3. 掌握常見抓包工具及報文分析方法

陶輝老師會配合抓包實踐來帶你深入瞭解協議細節。關於抓包工具的學習,則會遵循“即用即學”的原則,用到什麼學什麼,讓你快速上手。

對於HTTP報文的抓包實踐,主要使用 Chrome 瀏覽器提供的開發者工具 Network 面板,同時也將使用到 curl、telnet 命令行來模擬 HTTP 請求的發送。Wireshark是這門課程的主要抓包工具,包括過濾器、各面板的使用、如何基於統計分析報文等。對於服務器端的抓包我們會使用 tcpdump工具,並配合 Wireshark 分析報文。

4. 熟悉 Web 協議的架構和設計原則

HTTP 最初用於解決人與機器的通訊,瞭解指導其設計原則的REST架構,就能理解在空間上它如何應對全球性的巨型分佈式網絡,在時間上如何應對數十年的技術變遷。

在分層架構下各層都有其待解決的核心問題,TLS/SSL協議面對的是如何使用非對稱加密協商密鑰及驗證身份,TCP協議面對的則是可控流量下的可靠傳輸,IP協議則關注報文在主機間的可達性,帶着這些需求及約束,便可從容應對變化。

相關文章