當跨域遇上瀏覽器快取

2021-09-18 07:08:51 字數 575 閱讀 7746

access-control-allow-origin

access-control-allow-methods

然而配置好了跨域請求頭之後,瀏覽器仍然提示跨域訪問被拒絕。百般費解,為什麼cdn已經配置了跨域訪問的情形下,仍然會失敗呢?

採用chrome除錯模式發現,canvas的請求頭裡面沒有cors相關的字段。懷疑是cdn故障。

聯絡cdn客服測試,結果客服測試發現沒有問題。經過雙方比較瀏覽器的環境發現,客服是在disable cache的環境下執行的。

於是確認該問題是由瀏覽器快取導致的。

再次除錯所有網路請求發現,在canvas請求之前,還有乙個

於是便出現了上文描述的問題。

在定位了問題以後,有兩個辦法。

一是將二是禁止快取。在cdn的http頭中設定cache-control為no-cache,如下圖為阿里雲配置示意:

禁用快取後,canvas即可以順利從cdn獲取。

瀏覽器跨域

前端部分,簡單的封裝乙個promise版的ajax let myajax function headers else xhr.open method,path for let key,value of object.entries headers xhr.send body myajax heade...

瀏覽器跨域

同源策略 同源策略是乙個重要的安全策略,它用於限制乙個origin的文件或者它載入的指令碼如何能與另乙個源的資源進行互動。它能幫助阻隔惡意文件,減少可能被攻擊的媒介。協議 網域名稱 埠號 http伺服器,預設的埠號為80 tcp 木馬executor開放此埠 https securely trans...

瀏覽器快取導致的跨域問題

在聽網課,然後載入頁面出現乙個bootstrap的元件不能使用,檢視控制台出現跨域問題,使用另乙個瀏覽器也出現同樣的問題 找到nginx的配置檢視www.xuecheng.com 確實沒有配置ucenter.xuechneg.com跨域訪問,配置之後 依舊問題不變,我清理了乙個瀏覽器的記憶體後就完美...