Nginx 處理 HTTP 請求需要經過哪 11 個階段? | 極客時間
Nginx 為什麼要把 HTTP 請求的處理過程分為多個階段呢?
Nginx 的模組化設計使得每一個 HTTP 模組可以僅專注於完成一個獨立的、簡單的功能,而一個請求的完整處理過程可以使由無數個 HTTP 模組共同合作完成。這種設計有非常好的簡單性、可測試性、可擴充套件性,然而,當多個 HTTP 模組流水式地處理同一個請求時,單一的處理順序是無法滿足靈活性需求的,每一個正在處理請求的 HTTP 模組很難靈活、有效地指定下一個 HTTP 處理模組是哪一個。而且,不劃分處理階段也會讓 HTTP 請求的完整處理流程難以管理,每一個 HTTP 模組也很難正確地將自己插入到完整流程的合適位置中。
因此,HTTP 框架依據常見的處理流程將處理階段劃分為 11 個階段,其中每個處理階段都可以由任意多個 HTTP 模組流水式地處理請求。
那麼,我們來看一看“ Nginx 處理 HTTP 請求需要經過哪 11 個階段? ”
此節課程的使用者評價
課程介紹
Nginx 很火,因為它就像一個萬能藥,在任何存在效能需求的場合總能找見它的身影。它可以輕鬆在百萬併發連線下實現高吞吐量的 Web 服務,同時諸多應用場景下的問題都可以通過種種 Nginx 模組得以解決。
技術人員掌握 Nginx,便掌握了應對高併發以及海量資料處理的利器。而且,在學習 Nginx 的過程中,還能學習到許多優秀的設計思想,進一步提升我們的編碼能力和架構設計能力,從而大大拓展我們的職業道路。
陶輝在極客時間開設的這門課程 《Nginx 核心知識 100 講》 ,備受好評。由於他有著多年 Nginx 的定製化應用經驗,對 Nginx 的設計與特性有深刻認識,還是《深入理解 Nginx:模組開發與架構解析》一書的作者,跟著他學 Nginx,必定讓你少走彎路。
他可以幫你把關於 Nginx 的零零散散的知識點串成一條線,再將網路、作業系統、磁碟等知識與 Nginx 相關知識組成一個知識網,從而在工作中靈活運用這些知識和技能,通過 Nginx 最大化地利用好伺服器的效能,搭建出更穩定的服務。
你將獲得
1、基礎知識詳解及核心架構剖析
2、搭建支援百萬高併發的 Nginx 服務
3、從核心優化到原始碼解讀的全方位拆解
4、OpenResty + Nginx 開發實戰
總而言之,要成為 Nginx 高手,你必須徹底明確 Nginx 的能力模型,瞭解 Nginx 的工作原理,清楚怎樣使用 Nginx 搭建出定製化的 Web 伺服器或者微服務叢集的負載均衡服務,並理解什麼樣的 API 服務適合用 Nginx 編寫, 同時清楚如何在 linux 作業系統上優化 Nginx,使 Nginx 可以輕鬆應付百萬併發連線。
Nginx 核心知識圖譜
內容選自極客時間 《 Nginx 核心知識 100 講 》 專欄