這篇文章主要介紹“Nginx操作響應(yīng)頭信息如何實現(xiàn)”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“Nginx操作響應(yīng)頭信息如何實現(xiàn)”文章能幫助大家解決問題。
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計、郫都網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
前置條件:需要編譯 ngx_http_headers_module 模塊,才支持 header 頭信息操作
add_header
意思為將自定義的頭信息的添加到響應(yīng)頭,指令為 add_header name value [always];,可以用在 http {}, server {}, location {}, if in location {} 上下文中,
只有當(dāng)響應(yīng)狀態(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)碼,在所有響應(yīng)中強(qiáng)制返回。
注意: 可以聲明多個 add_header 指令,當(dāng)且僅當(dāng) 當(dāng)前區(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
意思為將自定義的頭信息添加到響應(yīng)頭的末尾,指令為 add_trailer name value [always];,可以用在 http {}, server {}, location {}, if in location {} 上下文中,只有當(dāng)響應(yīng)狀態(tài)碼等于 200, 201, 206, 301, 302, 303, 307, 或 308 時生效,如果 always 參數(shù)指定了,頭信息將無視狀態(tài)碼,在所有響應(yīng)中強(qiáng)制返回。
注意: 可以聲明多個 add_trailer 指令,當(dāng)且僅當(dāng) 當(dāng)前區(qū)塊沒有 add_trailer 的時候,才會繼承上級聲明的 add_trailer 信息
舉例參考 add_header 的例子。
expires
啟用或禁用,添加或修改響應(yīng)頭中的 "expires" 和 "cache-control" 字段,指令為 expires [modified] time; 或者 expires epoch | max | off; 當(dāng)響應(yīng)狀態(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ù)可以為正時間或者負(fù)時間。"expires" 字段中的時間計算為當(dāng)前時間和在 time 中指定的時間總和。如果使用該 modified 參數(shù)(0.7.0,0.6.32),則將時間計算為文件修改時間與 time 指令中指定的時間之和。
此外,可以使用 "@" 前綴(0.7.9,0.6.34)指定一天中的時間:expires @15h30m;
"cache-control" 字段的內(nèi)容取決于指定時間的符號:
時間為負(fù)數(shù) - "cache-control: no-cache"
時間為正數(shù)或者0 - "cache-control: max-age=t" t 是指令中指定的時間,以秒為單位
epoch 參數(shù)將 "expires" 設(shè)置為值 "thu, 01 jan 1970 00:00:01 gmt",將"cache-control" 設(shè)置為 "no-cache"。
max 參數(shù)將 "expires" 設(shè)置為值 "thu, 31 dec 2037 23:55:55 gmt",將"cache-control" 設(shè)置為 10 年。
off 參數(shù)禁用添加或修改 "expires" 和 "cache-control" 響應(yīng)頭字段。
最后一個參數(shù)值可以包含變量(1.7.9): 例如:
map $sent_http_content_type $expires { default off; application/pdf 42d; ~image/ max; } expires $expires;
關(guān)于“Nginx操作響應(yīng)頭信息如何實現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。