本篇內(nèi)容主要講解“Web前端的跨域方式是怎樣的”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Web前端的跨域方式是怎樣的”吧!
公司主營業(yè)務(wù):網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出海湖新免費(fèi)做網(wǎng)站回饋大家。
JavaScript出于安全方面的考慮,不允許跨域調(diào)用其他頁面的對象。那什么是跨域呢,簡單地理解就是因?yàn)镴avaScript同源策略的限制,a.com域名下的js無法操作b.com或是c.a.com域名下的對象。
當(dāng)協(xié)議、子域名、主域名、端口號中任意一個(gè)不相同時(shí),都算作不同域。不同域之間相互請求資源,就算作“跨域”。
有一點(diǎn)必須要注意:跨域并不是請求發(fā)不出去,請求能發(fā)出去,服務(wù)端能收到請求并正常返回結(jié)果,只是結(jié)果被瀏覽器攔截了。之所以會跨域,是因?yàn)槭艿搅送床呗缘南拗?,同源策略要求源相同才能正常進(jìn)行通信,即協(xié)議、域名、端口號都完全一致。
大家可以參照下圖,有助于深入理解跨域。
特別說明兩點(diǎn):
***:如果是協(xié)議和端口造成的跨域問題“前臺”是無能為力的。
第二:在跨域問題上,域僅僅是通過“URL的首部”來識別而不會根據(jù)域名對應(yīng)的IP地址是否相同來判斷?!癠RL的首部”可以理解為“協(xié)議, 域名和端口必須匹配”。
同源策略限制從一個(gè)源加載的文檔或腳本如何與來自另一個(gè)源的資源進(jìn)行交互。這是一個(gè)用于隔離潛在惡意文件的關(guān)鍵的安全機(jī)制。它的存在可以保護(hù)用戶隱私信息,防止身份偽造等(讀取Cookie)。
同源策略限制內(nèi)容有:
Cookie、LocalStorage、IndexedDB 等存儲性內(nèi)容
DOM 節(jié)點(diǎn)
AJAX 請求不能發(fā)送
但是有三個(gè)標(biāo)簽是允許跨域加載資源:
接下來我們討論下有哪些處理跨域的方法。但所有的跨域都必須經(jīng)過信息提供方的允許。如果未經(jīng)允許即可獲取,那是瀏覽器同源策略出現(xiàn)漏洞。
1.JSONP原理
利用