Nginx原始碼分析之變數

2021-10-10 08:44:37 字數 1648 閱讀 8992

server 

content_by_lua_block

}}map $host $var_2

變數的定義方法有三種,var1是用set指令定義的;變數$1 是正則匹配出來的;變數var_2是用map指令定義的。

http_host並不是前面三種方法定義的變數,它是屬於"字首變數",它的字首是"http_",表示從請求頭中取值。常見的字首有"http_" ,"sent_http_"從響應頭中取值的字首,"arg_"從引數取值的字首,"cookie_"從cookie中取值的字首。

無論用那種方法定義變數,在nginx**中都呼叫相同的函式ngx_http_add_variable。

首先檢查flags判斷變數是否屬於"字首變數",如果新增的變數屬於字首變數,會加到cmcf->prefix_variables中。

如果不是字首變數則在cmcf->variables_keys裡面找,找到則返回,找不到則呼叫ngx_hash_add_key,將變數加到cmcf->variables_keys陣列。

//... 查詢變數名name是否已經被定義,如果找到則直接返回

}//...

rc = ngx_hash_add_key(cmcf->variables_keys, &v->name, v, 0);

}ngx_hash_add_key 都幹了什麼

呼叫函式ngx_http_get_variable。

JQuery原始碼之 變數,正則

jquery原始碼之 變數,正則 一 jq原始碼中的正則 這裡推薦乙個正則測試理解的 1.d d ee d 分析 這個是檢測數字的。如css中距離,字型等等設定 10px,10px,還有科學技術法 匹配零個或乙個加號或減號 d 非獲取匹配,匹配零或多次數字加點 如32.或匹配空 d 匹配乙個或多個數...

nginx 原始碼分析

近期準備研究一下nginx原始碼,此處記錄一下。計畫 1 了解evan miller 的文章 2 了解nginx的組織架構 3 了解nginx的基本資料結構 4 熟悉nginx的主要module及執行機制,主要是core http event os 5 簡單的module開發及測試 一 準備 為了方...

nginx原始碼分析 從原始碼看nginx框架總結

nginx原始碼總結 1 中沒有特別繞特別彆扭的編碼實現,從變數的定義呼叫函式的實現封裝,都非常恰當,比如從函式命名或者變數命名就可以看出來定義的大體意義,函式的基本功能,再好的架構實現在編碼習慣差的人實現也會黯然失色,如果透徹理解 的實現,領悟架構的設計初衷,覺得每塊 就想經過耐心雕琢一樣,不僅僅...