HTTP回應標頭是HTTP訊息頭中的其中一個部分,HTTP訊息頭準確地描述了正在擷取的資源、伺服器或用戶端的行為,定義了HTTP事務中的具體巨集指令引數。通過配置自訂HTTP回應標頭,當您請求加速網域名稱下的資源時,可以在返回的響應訊息中添加您配置的回應標頭,以實現跨域訪問。

背景信息

HTTP訊息頭是指在超文字傳輸通訊協定 (HTTP)HTTP(Hypertext Transfer Protocol)的請求和響應訊息中,協議頭部的組件。在HTTP訊息頭中,按其出現的上下文環境分為通用頭、要求標頭和回應標頭等。

跨域資源共用CORS(Cross-Origin Resource Sharing)簡稱跨域訪問,是HTML5提供的標準跨域解決方案,允許Web應用伺服器進行跨域存取控制,使得跨域資料轉送得以安全進行。

適用情境

當您的業務使用者請求業務資源時,您可以在返回的響應訊息中配置回應標頭,以實現跨域訪問。當CDN收到一個跨域請求時,會讀取CDN上對應的CORS規則,然後進行相應的許可權檢查。CDN會依次檢查每一條規則,使用第一條匹配的規則來允許請求並返回對應的Header。如果所有規則都匹配失敗,則不附加任何CORS相關的Header。

HTTP回應標頭的配置屬於網域名稱維度配置,一旦配置生效,便會對網域名稱下所有資源的響應訊息生效。配置HTTP回應標頭僅影響用戶端(例如瀏覽器)的響應行為,不會影響到CDN節點的緩衝行為。泛網域名稱暫不支援配置自訂HTTP回應標頭。

操作步驟

  1. 登入 CDN控制台
  2. 在左側導覽列,單擊 域名管理
  3. 域名管理頁面,單擊目標網域名稱對應的 管理
  4. 在指定網域名稱的左側導覽列,單擊 缓存配置
  5. 單擊 自定义HTTP响应头頁簽。
  6. 單擊 添加,配置自訂HTTP回應標頭。
    下面以增加自訂HTTP回應標頭為例,為您介紹配置方法。
    參數 說明
    响应头操作 您可以增加、刪除、變更和替換指定的回應標頭。
    自定义响应头参数 選擇自訂回應標頭參數。詳細資料,請參見 回應標頭參數
    自定义响应头名称 當自訂回應標頭參數選擇為 自訂 時,需要配置自訂回應標頭名稱。自訂回應標頭名稱要求如下:
    • 由大小寫字母、短劃線(-)和數字組成。
    • 長度為1~100個字元。
    响应头值 輸入您要設定的回應標頭值。詳細資料,請參見 回應標頭參數
    是否允许重复
    • 允许:允許重複將會保留來源站點返回的頭,同時會加上一個同名的頭。
    • 不允许:如果不允許重複,來源站點返回的頭會被新配置的同名頭覆蓋。
    跨域校正 跨域校正預設為關閉狀態,只有在 响应头操作為“增加”, 自定义响应头参数為“Access-Control-Allow-Origin”的時候才可以配置。
    • 開啟 :開啟狀態下CDN節點將按以下規則對使用者做跨域校正,並根據校正結果響應“Access-Control-Allow-Origin”的值。
    • 關閉 :關閉狀態下CDN節點不會校正使用者請求中攜帶的Origin頭,只會固定響應已配置的Access-Control-Allow-Origin值。
    说明
    跨域校正規則:
    • 如果自訂回應標頭參數“Access-Control-Allow-Origin”的值設定為“*”不論使用者請求裡面是否攜帶“Origin”參數,也不論攜帶的“Origin”參數為何值,都固定返回“Access-Control-Allow-Origin:*”。
    • 如果跨域資源共用的回應標頭值設定了單個或者多個值(多個值之間用“,”分隔)。
      • 如果使用者要求標頭裡攜帶的“Origin”參數值與被設定的任意一個值精確匹配,就會響應對應的跨域頭。
      • 如果都沒有精確匹配上,則不響應跨域頭。
    • 如果跨域資源共用的回應標頭值設定了泛網域名稱,則會校正要求標頭中Origin值是否能匹配上“Access-Control-Allow-Origin”的泛網域名稱。

    配置樣本請參見配置跨域資源共用

  7. 單擊 确定,完成配置。

    成功配置自訂HTTP回應標頭後,您可以在 自定义HTTP响应头列表中,對當前的配置進行 修改删除操作。

回應標頭參數

回應標頭參數 說明 樣本
自訂 支援添加自訂回應標頭。自訂回應標頭名稱要求如下:
  • 由大小寫字母、短劃線(-)和數字組成。
  • 長度為1~100個字元。
Test-Header
Cache-Control 指定用戶端程式請求和響應遵循的緩衝機制。 no-cache
Content-Disposition 指定用戶端程式把請求所得的內容存為一個檔案時提供的預設的檔案名稱。 examplefile.txt
Content-Type 指定用戶端程式響應對象的內容類型。 image
Pragma Pragma HTTP 1.0是用於實現特定指令的回應標頭,具有通過請求和響應鏈實現各種效果的功能,可用於相容HTTP 1.1。 no-cache
Access-Control-Allow-Origin 指定允許的跨域請求的來源。填寫星號(*)表示全部網域名稱;您也可以填寫完整網域名稱,例如 http://www.aliyun.com
说明
  • 回應標頭值支援配置為“*”,表示任意來源。
  • 回應標頭值非“*”的情況下,支援配置單個或者多個IP、網域名稱、或者IP和網域名稱混合。相互間用“,”分隔。
  • 回應標頭值非“*”的情況下,必須包含協議頭“http:// ”或者“https://”。
  • 回應標頭值支援攜帶連接埠。
  • 回應標頭值支援泛網域名稱。
  • *
  • http://www.aliyun.com
Access-Control-Allow-Methods 指定允許的跨域要求方法。可同時設定多個方法,多個方法用英文逗號(,)分隔。 POST,GET
Access-Control-Allow-Headers 指定允許的跨域請求欄位。 X-Custom-Header
Access-Control-Expose-Headers 指定允許訪問的自訂頭資訊。 Content-Length
Access-Control-Allow-Credentials 該回應標頭表示是否可以將對請求的響應暴露給頁面。
  • 返回true:表示可以暴露。
  • 返回其他值:表示不可以暴露。
true
Access-Control-Max-Age 指定用戶端程式對特定資源的預請求返回結果的緩衝時間,單位為秒。 600

相關API

BatchSetCdnDomainConfig