CDN節點未配置回源302跟隨時,收到來源站點返回的302狀態代碼將直接轉寄給使用者。配置回源302跟隨功能後,CDN節點會代替使用者直接處理302狀態代碼的內容,可減少處理流程,加快使用者擷取資源的速度。
前提条件
使用者來源站點使用了302重新導向方式去實現商務邏輯。
背景信息
302是HTTP協議中的一個狀態代碼,代表已存在的資源被臨時改變了位置,導致使用者無法訪問到對應的資源。基於此情況,伺服器通常會在訊息回應標頭中加入Location參數,當用戶端接收到帶有Location頭的響應時,會跳轉到Location對應的地址去請求資源。
工作原理
回源302跟隨功能指CDN節點回源請求資源時,如果收到來源站點返回的302狀態代碼,將由CDN節點代替使用者直接處理302狀態代碼的內容,即直接跳轉到來源站點302響應中的Location地址去擷取資源,不會直接返回302狀態代碼給使用者。
- 使用者向CDN節點請求訪問
http://example.com/test.jpg
檔案。 - CDN節點上未緩衝該檔案,CDN節點回來源站點請求該檔案。
- 來源站點收到請求後,向CDN節點返回302狀態代碼,Location地址指向
http://www.example.com/test.jpg
。 - CDN節點收到來源站點的響應後,直接向Location地址
http://www.example.com/test.jpg
發起請求。 - CDN節點擷取到所需資源後,緩衝到CDN節點上。
- CDN節點將擷取到的資源返回給使用者。
http://example.com/test.jpg
檔案,會直接在CDN節點命中緩衝並返回給使用者。