阿里云CDN如何處理源站的302跳轉(zhuǎn)?
對網(wǎng)站的前端界面根據(jù)客戶終端的設(shè)備來決定提供對應(yīng)的界面樣式是常見的網(wǎng)站設(shè)計需求。該需求的常見設(shè)計思路是源站根據(jù)用戶的請求然后在源站對用戶的請求做302的跳轉(zhuǎn)到對應(yīng)的頁面上進行服務(wù)。
在對網(wǎng)站部署CDN后由于CDN的產(chǎn)品性質(zhì),CDN會對用戶的訪問資源緩存到CDN的節(jié)點上以便后續(xù)可以加快用戶的訪問,這種情況下就可能會出現(xiàn)第一個用戶訪問后會對對應(yīng)的302的請求進行緩存。而其他不同終端設(shè)備的用戶通過該URL進行訪問的時候就會出現(xiàn)訪問到的頁面情況仍然是第一個用戶緩存的302的請求到的頁面上。這就會造成用戶源站設(shè)置的對不同終端的適配功能失效。
要解決這種問題的思路就是設(shè)置對第一個請求的URL不緩存,而對302跳轉(zhuǎn)后的頁面進行緩存。這樣設(shè)置就可保證用戶源站的終端配置功能可以生效的同時也可以實現(xiàn)CDN對于頁面的加速。CDN對于緩存的配置暫時支持兩種:目錄和后綴名,用戶可以結(jié)合這兩種的緩存配置以及其優(yōu)先級來根據(jù)自己的站點目錄結(jié)構(gòu)定義初始URL不緩存,而對于其他的URL緩存;另外更為方便的方法是用戶可以在源站對于初始頁面設(shè)置不緩存,因為源站的不緩存策略對于CDN是具有最高優(yōu)先級的。只要該頁面的response中帶有下述頭信息就保證該頁面不緩存:
Cache-control:no-cache,no-store,private
Cache-control:s-maxage=0,max-age=0
pragma:no-cache
如有其它疑問,即可咨詢阿里云代理商-北京優(yōu)勝智連小編,會為你免費提供24小時不間斷的技術(shù)和售后服務(wù)。