Nginx 架構篇 - 詳解Http過濾模塊的調用流程

上節梳理了http執行的11各階段,下面我們開始學習http過濾模塊的調用流程,有想了解執行流程和原理的同學翻我以前的筆記。

替換響應中的字符串:sub模塊

功能:將響應中的指定字符串,替換成新的字符串。本模塊可以在nginx的迴應中查找和替換文本.在編譯nginx時必需加上–with-http_sub_module option

location / {
  sub_filter      </head>
  '</head><script language="javascript" src="$script"></script>';
  sub_filter_once on;
}

用過濾模塊在http響應的前後添加內容 :addition模塊

功能:在響應前或者響應後增加內容,而增加內容的方式是通過新增子請求的響應完成。

需要安裝擴展:本模塊可以在nginx的迴應中查找和替換文本.在編譯nginx時必需加上./configure --with-http_addition_module

location / {
  add_before_body   /before_action;
  add_after_body    /after_action;
}

Http框架提供的變量

  • http請求相關的變量
  • TCP連接相關的變量
  • Nginx處理請求過程中產生的變量
  • 發送http響應時相關的變量
  • Nginx系統變量

變量詳解:http請求相關的變量

arg_參數名 URL中某個具體參數值
query_string 與args變量完全相同
args 全部url參數
is_args 如果請求url中有參數返回?否則返回空
content_length http請求中標識包體長度的content_length頭部的值
content_type 標識請求包體類型content_type頭部的值

變量詳解:TCP連接相關的變量

uri 請求URI(不同於url,不包括?後的參數)
document_uri 與uri完全相同
request_uri 請求的url(包括完整的參數)
scheme 協議名 http或者https
request_method 請求方法 GET/POST
request_length 所有請求內容的大小
remote_user 由Http Basic Auth協議傳入的用戶名	

變量詳解: Nginx系統變量

功能:http_頭部名稱:返回一個具體請求頭部的值

http_host
http_user_agent
http_referer
http_via
http_x_forwarded_for
http_cookie
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章