跨域(學習筆記)

2021-09-03 01:17:29 字數 1701 閱讀 8433

協議、子網域名稱、主網域名稱、埠號中任意乙個不相同時,都算作不同域。

跨域是指服務端能收到客戶端請求並正常返回返回結果,結果被瀏覽器攔截。

ps:如果是協議和埠問題,「前台」無法解決

允許跨域載入資源的標籤:

jquery的jsonp

$.ajax(

});

只要伺服器實現了cors介面,就可以實現跨域

要求:瀏覽器(>ie10)和伺服器的同時支援,是跨越的根本解決辦法,由瀏覽器自動完成

伺服器端:

header('access-control-allow-origin:*');

header('access-control-allow-methods:post,get');

html5的乙個持久化協議,實現了瀏覽器與伺服器的全雙工通訊,同時也是跨域的一種解決方案。

websocket和http都是應用層協議,都基於tcp協議。但是websocket是一種雙向通訊協議,在建立連線之後,websocket的server與client都能主動向對方傳送或接收資料。同時,websocket在建立連線時需要借助http協議,連線建立好後client與server之間的雙向通訊就與http無關了。

socket.io(封裝了websocket)

前端:

user input: 

後台:

//啟http服務

//監聽socket連線

socket.listen(server).on('connection',function(client));

//斷開處理

client.on('disconnect',function());

})如果兩個網頁不同源,就無法拿到對方的dom。典型例子:iframe視窗和window.open方法開啟的視窗。

html5引入了乙個全新的api:跨文件通訊api。這個api為window物件新增了乙個window.postmessage方法,允許跨視窗通訊。

postmessage方法的第乙個引數是具體的資訊內容,第二個引數是接收訊息的視窗的源(origin),即「協議+網域名稱+埠」。也可以為*,表不限制網域名稱,向所有視窗傳送。

傳送資訊頁面:http://localhost:63342/index.html

接收資訊頁面:http://localhost:3000/message.html

window.addeventlistener('message',function(e),false);

Vue學習筆記(5) 跨域

目錄跨域 解決proxytable 與 axios 在學習element ui的過程中,嘗試一下有界 的用法 不出意外,遇到了跨域問題,感覺還是比較常見的,於是打算記錄一下方便日後學習。瀏覽器的同源策略規定某域下的客戶端在沒明確授權的情況下,不能讀寫另乙個域的資源,而對於我們熟悉的前後端分離專案,前...

學習筆記 js跨域請求

js跨域請求問題 1.通過jquery jsonp實現跨域請求,具體參考 2.對於返回非json格式資料的請求,通過上面的方法將無法實現跨域,例如返回xml資料,通過自己摸索和查閱相關資料可以通過後台傳送http請求實現。先新建乙個一般處理程式,在processrequest方法中呼叫如下方法來獲得...

Silverlight學習筆記 跨域呼叫

預設情況下,silverlight僅支援在同域或源站點上呼叫web服務,這意味著呼叫必須使用同一子域 協議和埠。通過在其他域的根目錄部署使用正確跨域策略檔案的web服務,可以在該域中啟用基於silverlight的應用程式要呼叫的web服務,silverlight支援兩種型別的跨域策略檔案。silv...