一、同源策略的目的:浏览器端的安全保护
二、啥叫同源:三同(协议、域名、端口)
三、例外:<script><img><link>....不然跨域的请求太蛋疼
四、浏览器对同源策略的实现:request照发,如果response的报文头里没有Access-Control-Allow-Origin的允许,浏览 器会封印response
五、浏览器控制台报错:提示类似“No-'Access-Control-Allow-Origin'.......”
六、常规规避:①JSONP:化ajax请求为代码段请求,利用例外的<script>标签(请求失败不好判定)
②response报文:Access-Control-Allow-Origin
③iframe:iframe里有各种跨域的奇淫技巧(对iframe的这套东西不熟悉...)
七、拉风闪避:牛人们有各种后门闪避这种限制
注:①IE同源策略的特殊性:
1.不看端口(还没试过)
2.有些高度相似的企业域名可认作同源(可能与企业内网的trust zone有关)
3.本地文件随便跨域(试过)
②域名分级:
1.到底是几级域名?有几个点就是几级域名
cn 顶级域名(类似的有com net org...)
com.cn 一级域名(com.cn是天朝工商企业,edu.cn学校,gov.cn政府,baidu.com也是一级域名)
mysite.com.cn 二级域名
www.mysite.com.cn 三级域名
subsite.mysite.com.cn 三级域名
channel.subsite.mysite.com.cn
四级域名
...............N级域名
2.注册申请:向上级域名管理机构申请,自己增设子域名,需要将NameServer的地址向上级NS注册(详见DNS寻址过程)
3.同源策略里的同域名:有几级就比对几级别,子目录不在比较范围内,例如:
subsite.mysite.com.cn/index.html
基准
channel.subsite.mysite.com.cn
不同源
www.mysite.com.cn
不同源
subsite.mysite.com.cn/myspace/info.html
同源