Nginx 操作響應頭信息的實現(xiàn)
前置條件:需要編譯 ngx_http_headers_module 模塊,才支持 header 頭信息操作
add_header
意思為將自定義的頭信息的添加到響應頭,指令為 add_header name value [always];,可以用在 http {}, server {}, location {}, if in location {} 上下文中,
只有當響應狀態(tài)碼等于 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), 或 308 (1.13.0) 時生效,如果 always 參數(shù)指定了,頭信息將無視狀態(tài)碼,在所有響應中強制返回。
注意: 可以聲明多個 add_header 指令,當且僅當 當前區(qū)塊沒有 add_header 的時候,才會繼承上級聲明的 add_header 信息
例如:
server { add_header a 123; location / { root /path; } location /download/ { add_header b 321; } }
如上的例子,在訪問 /download/ 路由的時候,將返回 b 321 這樣的頭信息,而訪問 / 路由時,將返回上級指定的 a 123 頭信息。
add_trailer
意思為將自定義的頭信息添加到響應頭的末尾,指令為 add_trailer name value [always];,可以用在 http {}, server {}, location {}, if in location {} 上下文中,只有當響應狀態(tài)碼等于 200, 201, 206, 301, 302, 303, 307, 或 308 時生效,如果 always 參數(shù)指定了,頭信息將無視狀態(tài)碼,在所有響應中強制返回。
注意: 可以聲明多個 add_trailer 指令,當且僅當 當前區(qū)塊沒有 add_trailer 的時候,才會繼承上級聲明的 add_trailer 信息
舉例參考 add_header 的例子。
expires
啟用或禁用,添加或修改響應頭中的 "Expires" 和 "Cache-Control" 字段,指令為 expires [modified] time; 或者 expires epoch | max | off; 當響應狀態(tài)碼等于200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), 或 308 (1.13.0) 時生效,time 參數(shù)可以為正時間或者負時間。"Expires" 字段中的時間計算為當前時間和在 time 中指定的時間總和。如果使用該 modified 參數(shù)(0.7.0,0.6.32),則將時間計算為文件修改時間與 time 指令中指定的時間之和。
此外,可以使用 "@" 前綴(0.7.9,0.6.34)指定一天中的時間:expires @15h30m;
"Cache-Control" 字段的內(nèi)容取決于指定時間的符號:
- 時間為負數(shù) - "Cache-Control: no-cache"
- 時間為正數(shù)或者0 - "Cache-Control: max-age=t" t 是指令中指定的時間,以秒為單位
epoch 參數(shù)將 "Expires" 設置為值 "Thu, 01 Jan 1970 00:00:01 GMT",將"Cache-Control" 設置為 "no-cache"。
max 參數(shù)將 "Expires" 設置為值 "Thu, 31 Dec 2037 23:55:55 GMT",將"Cache-Control" 設置為 10 年。
off 參數(shù)禁用添加或修改 "Expires" 和 "Cache-Control" 響應頭字段。
最后一個參數(shù)值可以包含變量(1.7.9): 例如:
map $sent_http_content_type $expires { default off; application/pdf 42d; ~image/ max; } expires $expires;
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解Nginx 反向代理、負載均衡、頁面緩存、URL重寫及讀寫分離詳解
本篇文章主要介紹了Nginx 反向代理、負載均衡、頁面緩存、URL重寫及讀寫分離詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12centos環(huán)境下nginx高可用集群的搭建指南
為了防止Nginx單點故障造成服務器癱瘓,本文介紹了Nginx實現(xiàn)高可用集群構建,下面這篇文章主要給大家介紹了關于centos環(huán)境下nginx高可用集群的搭建指南,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07nginx如何實現(xiàn)同個ip、端口訪問不同的項目(以路徑區(qū)分項目)
這篇文章主要介紹了nginx如何實現(xiàn)同個ip、端口訪問不同的項目(以路徑區(qū)分項目),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12nginx實現(xiàn)指定url轉(zhuǎn)發(fā)詳解
這篇文章主要為大家詳細介紹了nginx實現(xiàn)指定url轉(zhuǎn)發(fā)的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-11-11Nginx中worker connections問題的解決方法
這篇文章主要介紹了Nginx中worker connections問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Nginx反向代理轉(zhuǎn)發(fā)tomcat的實現(xiàn)
本文主要介紹了Nginx反向代理轉(zhuǎn)發(fā)tomcat的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07