同源策略 (Same origin policy)
是一種約定,它是瀏覽器最核心也最基本的安全功能,Web是構建在同源策略基礎之上的,瀏覽器是針對同源策略的一種實現。
之前一直認為,它是通過對發出的請求進行檢查是否同源,然後決定是否對該請求加以限制來實現。這次經過驗證發現正好相反:
在www.test.com下的頁面中向www.domian.com下的a.php傳送ajax請求:
$.ajax({
type:"get",
url:"http://www.domain.com/a.php",
async:true,
success:function(res){
console.log(res)
},
error:function(){
console.log("error")
}
});
控制檯資訊顯示跨域不被允許:
XMLHttpRequest cannot load http://www.domain.com/a.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.test.com' is therefore not allowed access.
檢視伺服器access.log記錄,找到了這條請求的記錄: