若转载教程,请注明出自SW-X框架官方文档
同源策略
URL | 说明 | 是否允许通信 |
---|---|---|
http://www.a.com/a.jshttp://www.a.com/b.js | 同一域名下 | 允许 |
http://www.a.com/lab/a.jshttp://www.a.com/script/b.js | 同一域名下不同文件夹 | 允许 |
http://www.a.com:8000/a.jshttp://www.a.com/b.js | 同一域名,不同端口 | 不允许 |
http://www.a.com/a.jshttps://www.a.com/b.js | 同一域名,不同协议 | 不允许 |
http://www.a.com/a.jshttp://70.32.92.74/b.js | 域名和域名对应ip | 不允许 |
http://www.a.com/a.jshttp://script.a.com/b.js | 主域相同,子域不同 | 不允许 |
http://www.a.com/a.jshttp://a.com/b.js | 同一域名,不同二级域名(同上) | 不允许(cookie这种情况下也不允许访问) |
http://www.cnblogs.com/a.jshttp://www.a.com/b.js | 不同域名 | 不允许 |
特别注意两点:
第一,如果是协议和端口造成的跨域问题“前台”是无能为力的,
第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会去尝试判断相同的ip地址对应着两个域或两个域是否在同一个ip上。
“URL的首部”指window.location.protocol +window.location.host,也可以理解为“Domains, protocols and ports must match”。
比较常见的解决方案
方式一:使用ajax的jsonp
方式二:使用jQuery的jsonp插件
方式三:使用cors
方式四:配置nginx
免费教程手写不易,希望能支持一下SW-X框架,(^.^)
GitHub有账号的朋友,也可以给我们一个小星星噢!
希望能够与大家共同培育出良好的Swoole生态,对Swoole有兴趣的朋友可以加我微信好友,进入SW-X框架官方交流群。
该群以Swoole生态发展交流为主,若出现争吵,攻击其他人等行为,立即剔除。
该群以Swoole生态发展交流为主,若出现争吵,攻击其他人等行为,立即剔除。