配置節(jié)點HTTP響應(yīng)頭
節(jié)點HTTP響應(yīng)頭是HTTP響應(yīng)消息頭的組成部分之一,可攜帶特定響應(yīng)參數(shù)并傳遞給客戶端,用來控制緩存行為。通過配置節(jié)點HTTP響應(yīng)頭,當用戶請求加速域名下的資源時,CDN返回的響應(yīng)消息會攜帶您配置的響應(yīng)頭,從而實現(xiàn)跨域訪問等特定功能。
背景信息
節(jié)點HTTP響應(yīng)頭是HTTP協(xié)議中用于控制緩存的一種機制。當客戶端請求一個資源時,CDN節(jié)點返回給客戶端的HTTP響應(yīng)頭部信息,它允許客戶端和CDN節(jié)點在特定條件下緩存響應(yīng)內(nèi)容。
HTTP響應(yīng)頭的配置屬于域名維度的配置,一旦配置生效,便會對域名下所有資源的響應(yīng)消息生效。
配置HTTP響應(yīng)頭僅影響客戶端(例如瀏覽器)的響應(yīng)行為,不會影響到CDN節(jié)點的緩存行為。泛域名暫不支持配置節(jié)點HTTP響應(yīng)頭。
適用場景
告知客戶端CDN響應(yīng)文件的資源類型:添加響應(yīng)頭
Content-Type: text/html
告知客戶端CDN響應(yīng)文件的格式是HTML格式。實現(xiàn)跨域資源訪問:當用戶請求CDN上某個域名的資源時,您可以在CDN返回的響應(yīng)消息中配置響應(yīng)頭Access-Control-Allow-Origin,以實現(xiàn)跨域訪問,請參考配置跨域資源共享。
另外,阿里云CDN還支持按照已配置CORS規(guī)則對接收到的用戶的跨域請求進行校驗,以實現(xiàn)更靈活的跨域資源訪問控制。
自定義響應(yīng)行為:添加或修改自定義頭部信息,可以根據(jù)業(yè)務(wù)需求調(diào)整客戶端接收到的響應(yīng)內(nèi)容和格式,實現(xiàn)特定的功能或跟蹤目的。
注意事項
在添加了多條配置的情況下,配置的執(zhí)行順序是按配置列表從上到下的順序逐條執(zhí)行,因此需要注意對名稱相同的“HTTP響應(yīng)頭”的多個配置操作將會疊加,最終結(jié)果可能會與預(yù)期不符。例如:
配置1:增加HTTP響應(yīng)頭:
cache-control: max-age=3600
配置2:增加HTTP響應(yīng)頭:
cache-control: no-cache
以上兩個配置疊加的結(jié)果是配置2最終生效
操作步驟
登錄CDN控制臺。
在左側(cè)導(dǎo)航欄,單擊域名管理。
在域名管理頁面,找到目標域名,單擊操作列的管理。
在指定域名的左側(cè)導(dǎo)航欄,單擊緩存配置。
單擊節(jié)點HTTP響應(yīng)頭頁簽。
單擊添加,配置節(jié)點HTTP響應(yīng)頭。
下面以增加節(jié)點HTTP響應(yīng)頭為例,為您介紹配置方法。
參數(shù)
說明
響應(yīng)頭操作
您可以增加、刪除、變更和替換指定的響應(yīng)頭。
自定義響應(yīng)頭參數(shù)
選擇自定義響應(yīng)頭參數(shù)。詳細信息,請參見響應(yīng)頭參數(shù)。
自定義響應(yīng)頭名稱
當自定義響應(yīng)頭參數(shù)選擇為自定義時,需要配置自定義響應(yīng)頭名稱。自定義響應(yīng)頭名稱要求如下:
由大小寫字母、短劃線(-)和數(shù)字組成。
長度為1~100個字符。
響應(yīng)頭值
輸入您要設(shè)置的響應(yīng)頭值。詳細信息,請參見響應(yīng)頭參數(shù)。
是否允許重復(fù)
允許:允許重復(fù)將會保留源站返回的頭,同時會加上一個同名的頭。
不允許:如果不允許重復(fù),源站返回的頭會被新配置的同名頭覆蓋。
跨域驗證
跨域校驗?zāi)J為關(guān)閉狀態(tài),只有在響應(yīng)頭操作為“增加”,自定義響應(yīng)頭參數(shù)為“Access-Control-Allow-Origin”的時候才可以配置。
開啟:開啟狀態(tài)下CDN節(jié)點將按以下規(guī)則對用戶做跨域校驗,并根據(jù)校驗結(jié)果響應(yīng)“Access-Control-Allow-Origin”的值。
關(guān)閉:關(guān)閉狀態(tài)下CDN節(jié)點不會校驗用戶請求中攜帶的Origin頭,只會固定響應(yīng)已配置的Access-Control-Allow-Origin值。
跨域校驗規(guī)則請參見跨域校驗規(guī)則。
規(guī)則條件
規(guī)則條件能夠?qū)τ脩粽埱笾袛y帶的各種參數(shù)信息進行識別,以此來決定某個配置是否對該請求生效。
不使用:不使用規(guī)則條件。
選擇已配置的規(guī)則引擎,新增或修改規(guī)則引擎請參見規(guī)則引擎。
單擊確定,完成配置。
成功配置節(jié)點HTTP響應(yīng)頭后,您可以在節(jié)點HTTP響應(yīng)頭列表中,對當前的配置進行修改或刪除操作。
跨域校驗規(guī)則
是否允許重復(fù)和跨域校驗這兩個配置項之間存在互斥,是否允許重復(fù)配置為允許的情況下,跨域校驗將會失效。
任意匹配:自定義響應(yīng)頭參數(shù)“Access-Control-Allow-Origin”的值設(shè)置為“*”不論用戶請求里面是否攜帶“Origin”參數(shù),也不論攜帶的“Origin”參數(shù)為何值,都固定返回“Access-Control-Allow-Origin:*”。
精確匹配:自定義響應(yīng)頭參數(shù)“Access-Control-Allow-Origin”的值設(shè)置了單個或者多個值(多個值之間用“,”分隔)。
如果用戶請求頭里攜帶的“Origin”參數(shù)值與被設(shè)置的任意一個值精確匹配,就會響應(yīng)對應(yīng)的跨域頭。
如果都沒有精確匹配上,則不響應(yīng)跨域頭。
泛域名匹配:自定義響應(yīng)頭參數(shù)“Access-Control-Allow-Origin”的值設(shè)置了泛域名,則會校驗請求頭中Origin值是否能匹配上“Access-Control-Allow-Origin”的泛域名。
配置示例請參見配置跨域資源共享。
響應(yīng)頭參數(shù)
響應(yīng)頭參數(shù) | 說明 | 示例 |
自定義 | 支持添加自定義響應(yīng)頭。自定義響應(yīng)頭名稱要求如下:
| Test-Header |
Cache-Control | 指定客戶端程序請求和響應(yīng)遵循的緩存機制。 | no-cache |
Content-Disposition | 指定客戶端程序把請求所得的內(nèi)容存為一個文件時提供的默認的文件名。 | examplefile.txt |
Content-Type | 指定客戶端程序響應(yīng)對象的內(nèi)容類型。 | text/plain |
Pragma | Pragma 是一個在 HTTP/1.0 中規(guī)定的通用首部,這個首部通常用于在服務(wù)器的響應(yīng)中定義客戶端對文件的緩存行為。 | no-cache |
Access-Control-Allow-Origin | 指定允許的跨域請求的來源。填寫星號(*)表示全部域名;您也可以填寫完整域名,例如 說明
|
|
Access-Control-Allow-Methods | 指定允許的跨域請求方法。可同時設(shè)置多個方法,多個方法用英文逗號(,)分隔。 | POST,GET |
Access-Control-Allow-Headers | 指定允許的跨域請求字段。 | X-Custom-Header |
Access-Control-Expose-Headers | 指定允許訪問的自定義頭信息。 | Content-Length |
Access-Control-Allow-Credentials | 該響應(yīng)頭表示是否可以將對請求的響應(yīng)暴露給頁面。
| true |
Access-Control-Max-Age | 指定客戶端程序?qū)μ囟ㄙY源的預(yù)請求返回結(jié)果的緩存時間,單位為秒。 | 600 |