跨域資源共享(Cross-Origin Resource Sharing)
阿新 • • 發佈:2018-02-16
一個 目標 不同域 客戶 con 放棄 設置 資源 之間 跨域資源共享
疑問一:為什麽要有跨域資源共享?
因為CSP同源策略的存在,導致AJAX無法跨域讀取、寫入資源,為了解決跨域分享資源的問題,提出了CORS,用來在不同域之間進行資源共享。但是,CORS僅僅適用於跨域發送數據,而且是從客戶端發送到服務器端。
目標域:被跨域訪問的那個域。 發送域:存儲AJAX,需要訪問目標域的那個域。 CORS的實現,需要目標域的服務器端設置響應的HTTP頭 Allow-Control-Allow-Origin:https://xxxx.com #表示運行https://xxxx.com域中的AJAX腳本發送資源過來 默認情況下,AJAX跨域不能發送目標域的cookie,除非目標域設置請求頭:Access-control-Allow-Credentials: true 當目標域設置了上述的請求頭之後,跨域發送數據時將會帶上目標域的cookie,可實現登陸之後的操作。很完美的應用於AJAX實現的CSRF中。但是,如果設置了上述請求頭,則Allow-Control-Allow-Origin的值必須為一個確定的值。 所以,如果目標域允許跨域,且Allow-Control-Allow-Origin的值為*,就可以直接放棄了。
跨域資源共享(Cross-Origin Resource Sharing)