跨域, 就是跨越兩非同源的域名去做一些事情. 它本身不是問題, 是不需要解決的.
所謂同源是指池充,域名捷枯,協(xié)議崇败,端口相同。
1
我們要解決的實(shí)際上是跨域帶來的安全問題. 那么它會造成什么安全問題呢?
[... 稍后補(bǔ)全]
我在這里舉一個小例子:
你家開了個植物園, 邀請客人來訪問并品嘗水果. 可是呢, 隔壁有家動物園, 你會允許隔壁家的猴子來你的植物園摘水果, 帶過去給他家的客人吃嗎?
[原創(chuàng)]
如何避免這些? 瀏覽器已經(jīng)在告訴我們了: 同源策略.
同源策略(Same origin policy)是一種約定歌焦,它是瀏覽器最核心也最基本的安全功能飞几,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響独撇⌒寄可以說Web是構(gòu)建在同源策略基礎(chǔ)之上的,瀏覽器只是針對同源策略的一種實(shí)現(xiàn)纷铣。
1
我們平時所說的解決跨域方案, jsonp / cors 它們解決這些安全問題了嗎?
沒有, 他們解決掉了(繞過了) "瀏覽器的安全策略".
所以, 我們平時所說的解決跨域方案, 實(shí)際上是為了實(shí)現(xiàn)跨域的方案.
那么我們?yōu)槭裁匆タ缬蚰?
- 前后端分離?
總結(jié)一下, 博主認(rèn)為, 能不跨域就不要去跨域才是正道.
真正的解決跨域問題, 就是去避免跨域, 也就是使用反向代理, 讓他們在同一個域下.