1.什麼是跨域
跨域是指跨網域名稱的訪問,以下情況都屬於跨域:
跨域原因說明 示例
網域名稱不同 www.jd.com 與 www.taobao.com
網域名稱相同,埠不同 www.jd.com:8080 與 www.jd.com:8081
二級網域名稱不同 item.jd.com 與 miaosha.jd.com
如果網域名稱和埠都相同,但是請求路徑不同,不屬於跨域,如:
2.為什麼有跨域問題?
跨域不一定會有跨域問題。
因為跨域問題是瀏覽器對於ajax請求的一種安全限制:乙個頁面發起的ajax請求,只能是於當前頁同網域名稱的路徑,這能有效的阻止跨站攻擊。
因此:跨域問題 是針對ajax的一種限制。
但是這卻給我們的開發帶來了不變,而且在實際生成環境中,肯定會有很多臺伺服器之間互動,位址和埠都可能不同,怎麼辦?
3.解決跨域問題的方案
目前比較常用的跨域解決方案有3種:
nginx反向**
思路是:利用nginx反向**把跨域為不跨域,支援各種請求方式
缺點:需要在nginx進行額外配置,語義不清晰
cors
規範化的跨域請求解決方案,安全可靠。
優勢:
伺服器端解決跨域問題的三種方法
跨域是指html檔案所在的伺服器與ajax請求的伺服器是不同的ip port,例如 192.168.1.1 8080 與 192.168.1.2 8080 是不同的域。192.168.1.1 8080 與 192.168.1.1 8081 是不同的域。如果您使用的mvc框架是spring4.2以上的...
伺服器端解決跨域問題的三種方法
跨域是指html檔案所在的伺服器與ajax請求的伺服器是不同的ip port,例如 192.168.1.1 8080 與 192.168.1.2 8080 是不同的域。192.168.1.1 8080 與 192.168.1.1 8081 是不同的域。如果您使用的mvc框架是spring4.2以上的...
伺服器端解決跨域問題的三種方法
跨域是指html檔案所在的伺服器與ajax請求的伺服器是不同的ip port,例如 192.168.1.1 8080 與 192.168.1.2 8080 是不同的域。192.168.1.1 8080 與 192.168.1.1 8081 是不同的域。如果您使用的mvc框架是spring4.2以上的...