實現跨域通訊的9種方法

首先明確,跨域請求只是瀏覽器對請求的限制,雖然跨域,服務器仍然能收到客戶端請求,服務器之間通訊不存在跨域問題。

1. 什麼是跨域?

  1. 協議
  2. 域名
  3. 端口
  • 只要協議、域名、端口號其中任意一者不一樣,均屬跨域。

2. 實現跨域的9種方法

1 jsonp
2 cors
3 nginx
4 websocket
5 postMessage
6 document.domain
7 window.name
8 location.hash
9 http-proxynginx

jsonp

cors

Access-Control-Allow-Origin: * 就不容許跨域攜帶cookie

nginx

<!-- 訪問.json文件時,會去root 下面json文件中查找 -->
location ~.*\.json {
  root json;
}

postMessage

document.domain

一級域名和二級域名之間的通訊

window.name

location.hash

http-proxy

websocket

socket.io庫

結論

根據不一樣的應用場景,選擇相應的跨域通訊方式。web

相關文章
相關標籤/搜索