ajax 為什么需要 同源策略
1 回答

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
如果把“需要”替換為“遵守”可能更好一些。
同源策略的本質是一種約定,可以說web的行為就是構建在這種約定之上的。就好比我們人類的行為必須受到法律的約束一樣。同源策略的目的就是限制不同源的document或者腳本之間的相互訪問,以免造成干擾和混亂。
ajax太靈活了,各種請求說法就發,如果沒有同源策略的限制,發到哪里都行,只要你構造好參數和請求路徑,那人人都是黑客了,這樣會導致各種敏感數據的泄露。
另外呢,那些帶src屬性的<script><img><iframe><link>等標簽是不需要遵守同源策略的,但是通過src加載的資源,瀏覽器限制了javascript的權限,不能進行各種的讀寫。從而,即使請求發了,敏感數據回來了,也是取不到的。
通過上對比,帶有src的標簽不被同源策略限制,因為javascript本身就做了讀寫的限制,而ajax本身就是js的,太靈活了,javascript讀寫方便,所以它必須遵守同源策略。
最后再補充一點,如果ajax非要跨越,可以使用cors。你可以百度“cors 跨域”來學習一下。
- 1 回答
- 0 關注
- 771 瀏覽
添加回答
舉報
0/150
提交
取消