ajax 为什么需要 同源策略

ajax 为什么需要 同源策略


小唯快跑啊
浏览 738回答 1
1回答

猛跑小猪

如果把“需要”替换为“遵守”可能更好一些。同源策略的本质是一种约定,可以说web的行为就是构建在这种约定之上的。就好比我们人类的行为必须受到法律的约束一样。同源策略的目的就是限制不同源的document或者脚本之间的相互访问,以免造成干扰和混乱。ajax太灵活了,各种请求说法就发,如果没有同源策略的限制,发到哪里都行,只要你构造好参数和请求路径,那人人都是黑客了,这样会导致各种敏感数据的泄露。另外呢,那些带src属性的<script><img><iframe><link>等标签是不需要遵守同源策略的,但是通过src加载的资源,浏览器限制了javascript的权限,不能进行各种的读写。从而,即使请求发了,敏感数据回来了,也是取不到的。通过上对比,带有src的标签不被同源策略限制,因为javascript本身就做了读写的限制,而ajax本身就是js的,太灵活了,javascript读写方便,所以它必须遵守同源策略。最后再补充一点,如果ajax非要跨越,可以使用cors。你可以百度“cors 跨域”来学习一下。
打开App,查看更多内容
随时随地看视频慕课网APP