我们所说的解决跨域问题, 到底是在解决什么问题

2018-01-24  本文已影响0人  Bolt

跨域, 就是跨越两非同源的域名去做一些事情. 它本身不是问题, 是不需要解决的.

所谓同源是指,域名,协议,端口相同。
1

我们要解决的实际上是跨域带来的安全问题. 那么它会造成什么安全问题呢?

[... 稍后补全]

我在这里举一个小例子:

你家开了个植物园, 邀请客人来访问并品尝水果. 可是呢, 隔壁有家动物园, 你会允许隔壁家的猴子来你的植物园摘水果, 带过去给他家的客人吃吗?
[原创]

如何避免这些? 浏览器已经在告诉我们了: 同源策略.

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。
1

我们平时所说的解决跨域方案, jsonp / cors 它们解决这些安全问题了吗?

没有, 他们解决掉了(绕过了) "浏览器的安全策略".

所以, 我们平时所说的解决跨域方案, 实际上是为了实现跨域的方案.

那么我们为什么要去跨域呢?

总结一下, 博主认为, 能不跨域就不要去跨域才是正道.

真正的解决跨域问题, 就是去避免跨域, 也就是使用反向代理, 让他们在同一个域下.

上一篇下一篇

猜你喜欢

热点阅读