跨域與越獄

概念

跨域是個(gè)老生常談的問題,指的是網(wǎng)頁中的JS想去請(qǐng)求非自己域內(nèi)的數(shù)據(jù)或者操作非自己域內(nèi)的DOM對(duì)象,說起來有抽象,就好比

  1. 監(jiān)獄內(nèi)的犯人想去監(jiān)獄外買點(diǎn)水果回來牢里吃
  2. 監(jiān)獄內(nèi)的犯人想搜獄警大人的口袋

以上兩種神操作一般情況下當(dāng)然是行不通的!

原因

用腳指頭想想都知道的,因?yàn)檫@是規(guī)定!

誰規(guī)定的

  1. 代碼世界里當(dāng)然是瀏覽器規(guī)定的,現(xiàn)實(shí)世界里當(dāng)然是監(jiān)獄規(guī)定的
  • 對(duì)于第一種情況:即請(qǐng)求本域外的數(shù)據(jù),請(qǐng)求能發(fā)出去,服務(wù)器也能正常返回,但是瀏覽器把數(shù)據(jù)攔截了、攔截了、攔截了!
  • 對(duì)于第二種情況:操作非自己域內(nèi)的`DOM對(duì)象:很簡(jiǎn)單,連那個(gè)DOM對(duì)象你都獲取不到!獲取不到!獲取不到!

又有抽象?
就好比:

  1. 獄警把你托人在外買的水里給默收然后自己吃掉了,在電影里也是有挺多這種操作的,常規(guī)操作!
  2. 犯人根本就碰不到獄警,因?yàn)榉溉舜蟛糠謺r(shí)間是被關(guān)起來的

同域

現(xiàn)實(shí)世界里當(dāng)然指的是同個(gè)牢房啦!
而瀏覽器世界里指的是同協(xié)議并且同域名并且同端口號(hào),俗稱三證齊全,比如http、taobao.com、80,也叫做瀏覽器的同源策略,目的當(dāng)然是為了:

  1. 保證獄警的安全
  2. 怕情緒不穩(wěn)定的家屬跑進(jìn)來暴打獄友

解決方法

規(guī)定是死的,但人是活的,只要人活著,總有辦法的嘛!
而繞過瀏覽器的同源策略就叫做跨域了!
因此跨域也有各種姿勢(shì),各顯神通!
比如JSONP就好比賄賂獄警,這個(gè)大家都懂的,不說了!
比如CORS就好比官方授權(quán),這個(gè)大家也懂的,也不說了!

具體操作細(xì)節(jié)感覺如果是我自己寫的話估計(jì)沒法超越以下這篇好文了:
九種跨域方式實(shí)現(xiàn)原理

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,690評(píng)論 1 11
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,815評(píng)論 1 45
  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,513評(píng)論 0 21
  • 自律與專注,這是我參加第四期的自由書寫想去練習(xí)的。寫到第三月時(shí)特別有感覺,一篇500字的作業(yè),如果手寫20分鐘也就...
    何偀閱讀 246評(píng)論 3 1
  • 【關(guān)注菽麥 | 一起閱讀】 《醒來覺得甚是愛你》,這本書的書名,就像是一對(duì)戀人在打情罵俏,很符合朱生豪這個(gè)情詩王子...
    菽麥閱讀 694評(píng)論 2 1

友情鏈接更多精彩內(nèi)容