html 跨域_web前端面试题_1:跨域的几种方式

首先了解下浏览器的同源策略

跨域是浏览器行为,不是服务器行为。

同源策略SOP(Same origin policy)是一种约定,

由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。

所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

解决跨域问题方法如下:

jsonp跨域:

动态创建script跨域

这个没什么好说的,因为script标签不受同源策略的限制。

document.domain + iframe 跨域

此方案仅限主域相同,子域不同的跨域应用场景。

1.)父窗口:(http://www.domain.com/a.html)

2.)子窗口:(http://child.domain.com/b.html)

nginx 代理跨域

就是在客户端和真实的服务器之间有一台代理服务器,所有的请求都是这台固定的代理来进行转接的,进而绕过浏览器的限制。

nodejs 中间件代理跨域

可以把node相像成nginx,类似的。

服务端在头部信息里面设置安全域名

header('Access-Control-Allow-Origin:*');

header('Access-Control-Allow-Headers:X-Requested-With,accept, origin, content-type')

感谢收看本期Q程序员说,最后别忘点赞加关注哈!我接着继续整,有啥不爽留言。

e6a83d2dc55dd8abf71ad723a62129bd.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值