JS_JAVA_资源_浏览器跨域问题
2018-08-23 本文已影响0人
Shokka
前提:
跨域问题只会出现在浏览器中,也就是JS中,Iframe中。
其他后台语言是不会出现跨域问题的,如java爬虫
疑问:
1.浏览器正常访问一个网站算不算跨域?
不算,跨域的前提是你要横跨两个域,对于域的概念这里不做赘述,例如当你访问百度主页时,百度的服务就是你的一个域,所以你可以在百度的主页中请求百度服务上的文件(png,jpg,js等)
2.Iframe为何跨域?
当你使用iframe内嵌了百度在你自己的页面时,iframe的域是百度的服务,而你的html页面的域是在你自己本地的服务(可能是你搭建的服务,也可能是file://),这里存在了两个域。此时你仍然可以对iframe内的百度进行操作,跨域的意思是在你的html JS中,无法获取iframe内的状态,也就是只能看,不能做。你只能用鼠标点击,并不能通过你的JS对百度的DOM进行操作。因为浏览器禁止了你跨域。
3.为什么我的html页面中<script>能访问到其他服务上的资源?
因为你访问的这个服务已经做了可跨域处理,最常见的便是cnd。