當 nginx 檢測到 http 這個關鍵配置項時, http 配置模型就啟動了,這時會首先建立乙個 ngx_http_conf_ctx_t 結構。以下是 ngx_http_conf_ctx_t 的定義
typedef struce ngx_http_conf_ctx_t;
這時, http 框架會為所有的 http 模組建立 3 個陣列,分別存放所有 http 模組的create_main_conf, create_srv_conf, create_loc_conf
方法返回的位址指標。當然,如果 http 模組對於配置項不感興趣,它沒有實現create_main_conf, create_srv_conf, create_loc_conf
等方法,那麼陣列中相應位置儲存的指標是null
。ngx_http_conf_ctx_t 的3個成員create_main_conf, create_srv_conf, create_loc_conf
分別指向這三個陣列。
這樣,在 http 塊中就通過 1個 ngx_http_conf_ctx_t 結構儲存了所有 http 模組的配置資料結構的入口。以後遇到任何 server 塊 或者 location 時,也會建立 ngx_http_conf_ctx_t 結構,生成同樣的陣列來儲存所有 http 模組通過create_main_conf, create_srv_conf, create_loc_conf
等方法返回的指標位址。ngx_http_conf_ctx_t 是了解 http 配置塊的基礎。
參考
深入理解nginx
1.檢視核心版本 因為2.6以上的核心才支援epoll,nginx的高併發的特性依賴epoll uname a linux com.guang 3.10.0 514.16.1.el7.x86 64 1 smp wed apr 12 15 04 24 utc 2017 x86 64 x86 64 x8...
深入理解HTTP(一)
採用http 無狀態短連線 來互動資料 應用層 可以達到處理大量使用者請求的要求 本質上是建立乙個socket連線,通過outputstream.write傳送到目標伺服器,通過inputstream.read來接受返回資料。控制使用者瀏覽器的渲染行為和伺服器的執行該邏輯 如404狀態碼 快取分為服...
深入理解HTTP協議
當今最流行的http協議版本為http 1.1,本文內容均以此版本為準 一 報文 http協議的報文分為兩種,請求報文和響應報文 請求報文由4部分組成 1.起始行 2.請求頭 3.空行 4.請求體 響應報文也由4部分組成 1.起始行 2.響應頭 3.空行 4.響應體 其中起始行都是必須的,其他內容可...