摘要:同源策略同源策略限制從一個(gè)源加載的文檔或腳本如何與來(lái)自另一個(gè)源的資源進(jìn)行交互。同源策略是很重要的安全機(jī)制,但是有些時(shí)候需要突破這種機(jī)制,這就需要跨域。
導(dǎo)語(yǔ)
AJAX 的跨域問(wèn)題,常用的解決方法有兩種,簡(jiǎn)單記錄下,詳細(xì)內(nèi)容查看參考資料。以下示例自建兩個(gè)域名測(cè)試,www.test.com、www.example.com。
同源策略同源策略限制從一個(gè)源加載的文檔或腳本如何與來(lái)自另一個(gè)源的資源進(jìn)行交互。這是一個(gè)用于隔離潛在惡意文件的關(guān)鍵的安全機(jī)制。
兩個(gè)頁(yè)面,如果域名、協(xié)議、端口都相同,即是同源,其間的交互不存在問(wèn)題。同源策略是很重要的安全機(jī)制,但是有些時(shí)候需要突破這種機(jī)制,這就需要跨域。
JSONPJSONP 是很常用的方法,它是利用 標(biāo)簽沒(méi)有跨域限制的原理實(shí)現(xiàn)。以下是在 www.test.com 中使用 JQuery 示例
$.ajax( { url:"http://www.example.com", data:{name:"tom"}, type:"get", dataType:"jsonp", jsonp: "callback", success:function(data) { console.log(data) } })
以下是 www.example.com 的 PHP 處理
CORSCORS (Cross-origin resource sharing),跨域資源共享標(biāo)準(zhǔn)允許 Web 應(yīng)用服務(wù)器進(jìn)行跨域訪問(wèn)控制。相對(duì)于 JSONP 只支持 GET ,CORS 支持更多的 HTTP 請(qǐng)求,同時(shí)更簡(jiǎn)單、安全。不過(guò) CORS 可能會(huì)存在兼容問(wèn)題。
以下是在 www.test.com 中發(fā)送 AJAX 請(qǐng)求$.ajax( { url:"http://www.example.com", data:{name:"tom"}, type:"post", dataType:"json", success:function(data) { console.log(data) } });www.example.com 的 PHP 處理
參考資料:同源策略、CORS、瀏覽器同源政策及其規(guī)避方法、跨域資源共享 CORS 詳解。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100923.html
摘要:關(guān)于,強(qiáng)烈推薦閱讀跨域資源共享詳解阮一峰另外,這里也整理了一個(gè)實(shí)現(xiàn)原理圖簡(jiǎn)化版如何判斷是否是簡(jiǎn)單請(qǐng)求瀏覽器將請(qǐng)求分成兩類簡(jiǎn)單請(qǐng)求和非簡(jiǎn)單請(qǐng)求。 前言 從剛接觸前端開發(fā)起,跨域這個(gè)詞就一直以很高的頻率在身邊重復(fù)出現(xiàn),一直到現(xiàn)在,已經(jīng)調(diào)試過(guò)N個(gè)跨域相關(guān)的問(wèn)題了,16年時(shí)也整理過(guò)一篇相關(guān)文章,但是感覺(jué)還是差了點(diǎn)什么,于是現(xiàn)在重新梳理了一下。 個(gè)人見識(shí)有限,如有差錯(cuò),請(qǐng)多多見諒,歡迎提出iss...
摘要:在接觸前端開發(fā)起,跨域這個(gè)詞就一直以很高的頻率在我們學(xué)習(xí)工作中重復(fù)出現(xiàn),最近在工作中遇到了跨域的相關(guān)問(wèn)題,這里我把它總結(jié)記錄一下。 在接觸前端開發(fā)起,跨域這個(gè)詞就一直以很高的頻率在我們學(xué)習(xí)工作中重復(fù)出現(xiàn),最近在工作中遇到了跨域的相關(guān)問(wèn)題,這里我把它總結(jié)記錄一下。關(guān)于跨域,有N種類型,現(xiàn)在我只專注于ajax請(qǐng)求跨域(ajax跨域只是屬于瀏覽器同源策略中的一部分,其它的這里不做介紹),內(nèi)容...
摘要:這里只講解了兩種常見的跨域方式,因?yàn)榇嬖谝恍┍锥耍虼送扑]使用等方式來(lái)解決跨域問(wèn)題。 一、什么是 AJAX 跨域問(wèn)題 同源策略規(guī)定,AJAX 請(qǐng)求(XMLHttpRequest)只能發(fā)給同源的網(wǎng)址,否則就會(huì)出錯(cuò)。所謂的同源策略是指 3 個(gè)相同:協(xié)議相同、域名相同、端口相同。 比如 http://www.example.com/index.html 這個(gè)網(wǎng)址,協(xié)議是http ,域名是 w...
摘要:跨域完全講解今天在慕課網(wǎng)上學(xué)習(xí)了跨域完全講解我在收集面試題的時(shí)候其實(shí)就已經(jīng)有過(guò)跨域的問(wèn)題的了,當(dāng)時(shí)候知道了為什么會(huì)存在跨域,以及跨域解決的方案有哪些,今天隨著課程的學(xué)習(xí),又加深了跨域的理解,以此記錄下來(lái)。 AJAX跨域完全講解 今天在慕課網(wǎng)上學(xué)習(xí)了AJAX跨域完全講解:https://www.imooc.com/learn/947 我在收集AJAX面試題的時(shí)候其實(shí)就已經(jīng)有過(guò)AJAX跨域...
摘要:跨域完全講解今天在慕課網(wǎng)上學(xué)習(xí)了跨域完全講解我在收集面試題的時(shí)候其實(shí)就已經(jīng)有過(guò)跨域的問(wèn)題的了,當(dāng)時(shí)候知道了為什么會(huì)存在跨域,以及跨域解決的方案有哪些,今天隨著課程的學(xué)習(xí),又加深了跨域的理解,以此記錄下來(lái)。 AJAX跨域完全講解 今天在慕課網(wǎng)上學(xué)習(xí)了AJAX跨域完全講解:https://www.imooc.com/learn/947 我在收集AJAX面試題的時(shí)候其實(shí)就已經(jīng)有過(guò)AJAX跨域...
閱讀 3721·2021-11-23 09:51
閱讀 1384·2021-11-10 14:35
閱讀 4022·2021-09-22 15:01
閱讀 1292·2021-08-19 11:12
閱讀 392·2019-08-30 15:53
閱讀 1702·2019-08-29 13:04
閱讀 3439·2019-08-29 12:52
閱讀 3069·2019-08-23 16:14