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