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

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