搜尋
首頁運維NginxNginx操作回應頭資訊如何實現

前置條件:需要編譯ngx_http_headers_module 模組,才支援header 頭資訊操作

add_header

意思是將自訂的頭訊息的加入到回應頭,指令為add_header name value [always];,可以用在http {}, server {}, location {}, if in location {} 上下文中,
只有當回應狀態碼等於200 , 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), 或308 (1.13.0) 時生效,如果always 指定了,頭資訊將參數無視狀態碼,在所有回應中強制返回。

注意: 可以宣告多個add_header 指令,當且僅當當前區塊沒有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 {} 上下文中,只有當回應狀態碼等於200, 201, 206, 301, 302, 303, 307, 或308 時生效,如果always 參數指定了,頭資訊將無視狀態碼,在所有回應中強制返回。

注意: 可以宣告多個 add_trailer 指令,當且僅當 當前區塊沒有 add_trailer 的時候,才會繼承上級宣告的 add_trailer 資訊

舉例參考 add_header 的範例。

expires

啟用或停用,新增或修改回應頭中的"expires" 和"cache-control" 字段,指令為expires [modified] time; 或expires epoch | max | off; 當反應狀態碼等於200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13) 或3008 ( 1.13.0) 時生效,time 參數可以為正時間或負時間。 "expires" 欄位中的時間計算為目前時間和在 time 中指定的時間總和。如果使用該 modified 參數(0.7.0,0.6.32),則將時間計算為檔案修改時間與 time 指令中指定的時間總和。

此外,可以使用"@" 前綴(0.7.9,0.6.34)指定一天中的時間:expires @15h30m;

"cache-control" 欄位的內容取決於指定時間的符號:

  • 時間為負數- "cache-control: no-cache"

  • 時間為正數或0 - "cache -control: max-age=t" t 是指令中指定的時間,以秒為單位

epoch 參數將"expires" 設為值"thu, 01 jan 1970 00: 00:01 gmt",將"cache-control" 設定為"no-cache"。

max 參數將 "expires" 設為值 "thu, 31 dec 2037 23:55:55 gmt","cache-control" 設為 10 年。

off 參數停用新增或修改 "expires" 和 "cache-control" 回應頭欄位。

最後一個參數值可以包含變數(1.7.9): 例如:

map $sent_http_content_type $expires {
 default   off;
 application/pdf 42d;
 ~image/   max;
}

expires $expires;

以上是Nginx操作回應頭資訊如何實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
NGINX與Apache:比較Web服務器技術NGINX與Apache:比較Web服務器技術May 02, 2025 am 12:08 AM

NGINX適合處理高並發和靜態內容,Apache適用於動態內容和復雜URL重寫。 1.NGINX採用事件驅動模型,適合高並發。 2.Apache使用進程或線程模型,適用於動態內容。 3.NGINX配置簡單,Apache配置複雜但更靈活。

nginx和apache:部署和配置nginx和apache:部署和配置May 01, 2025 am 12:08 AM

NGINX和Apache各有優勢,選擇取決於具體需求。 1.NGINX適合高並發,部署簡單,配置示例包括虛擬主機和反向代理。 2.Apache適用於復雜配置,部署同樣簡單,配置示例包括虛擬主機和URL重寫。

NGINX單元的目的:運行Web應用程序NGINX單元的目的:運行Web應用程序Apr 30, 2025 am 12:06 AM

NGINXUnit的目的是簡化Web應用程序的部署和管理。其優勢包括:1)支持多種編程語言,如Python、PHP、Go、Java和Node.js;2)提供動態配置和自動重載功能;3)通過統一的API管理應用生命週期;4)採用異步I/O模型,支持高並發和負載均衡。

NGINX:高性能Web服務器的簡介NGINX:高性能Web服務器的簡介Apr 29, 2025 am 12:02 AM

NGINX始於2002年,由IgorSysoev開發,旨在解決C10k問題。 1.NGINX是高性能Web服務器,基於事件驅動的異步架構,適用於高並發。 2.提供反向代理、負載均衡和緩存等高級功能,提升系統性能和可靠性。 3.優化技巧包括調整worker進程數、啟用Gzip壓縮、使用HTTP/2和安全配置。

Nginx vs. Apache:看他們的架構Nginx vs. Apache:看他們的架構Apr 28, 2025 am 12:13 AM

NGINX和Apache在架構上的主要區別在於:NGINX採用事件驅動、異步非阻塞模型,而Apache使用進程或線程模型。 1)NGINX通過事件循環和I/O多路復用機制高效處理高並發連接,適合靜態內容和反向代理。 2)Apache採用多進程或多線程模型,穩定性高但資源消耗大,適合需要豐富模塊擴展的場景。

NGINX與Apache:檢查優點和缺點NGINX與Apache:檢查優點和缺點Apr 27, 2025 am 12:05 AM

NGINX適合處理高並發和靜態內容,Apache則適用於復雜配置和動態內容。 1.NGINX高效處理並發連接,適合高流量場景,但處理動態內容需額外配置。 2.Apache提供豐富模塊和靈活配置,適合複雜需求,但高並發性能較差。

nginx和apache:了解關鍵差異nginx和apache:了解關鍵差異Apr 26, 2025 am 12:01 AM

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

NGINX單元:關鍵功能NGINX單元:關鍵功能Apr 25, 2025 am 12:17 AM

NGINXUnit是一個開源應用服務器,支持多種編程語言,提供動態配置、零停機更新和內置負載均衡等功能。 1.動態配置:無需重啟即可修改配置。 2.多語言支持:兼容Python、Go、Java、PHP等。 3.零停機更新:支持不中斷服務的應用更新。 4.內置負載均衡:可將請求分發到多個應用實例。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具