摘要:瀏覽器在請(qǐng)求不同域的資源時(shí),會(huì)因?yàn)橥床呗缘挠绊懻?qǐng)求不成功,這就是通常被提到的跨域問題。需要說明的幾個(gè)點(diǎn)如果是協(xié)議和端口造成的跨域問題,前端是無能為力的。
前段時(shí)間在網(wǎng)上跟一個(gè)大廠據(jù)說很NB的同行大佬聊天,然后大佬問了我一個(gè)問題,“在實(shí)際生產(chǎn)中前端怎么解決跨域問題” 我當(dāng)時(shí)就回答說我們目前的狀況是需要服務(wù)端做一些配合解決的,然后大佬很不滿意的暗示了我一下JSONP用過嗎?我當(dāng)時(shí)就覺得很不可思議,實(shí)際生產(chǎn)中就只有g(shù)et請(qǐng)求嗎?而且這玩意兒在實(shí)際生產(chǎn)中都基本不用的,我開始有點(diǎn)懷疑我是不是掉隊(duì)了,所以今天大概梳理下這塊的知識(shí)點(diǎn)。
瀏覽器在請(qǐng)求不同域的資源時(shí),會(huì)因?yàn)橥床呗缘挠绊懻?qǐng)求不成功,這就是通常被提到的“跨域問題”。作為前端開發(fā),跨域經(jīng)常遇到,我們通常所說的JS跨域,指的是在處理跨域請(qǐng)求的過程中,技術(shù)面會(huì)偏瀏覽器端較多一些,那什么是跨域呢?
JavaScript出于安全方面的考慮,不允許跨域調(diào)用其他頁面的對(duì)象,當(dāng)協(xié)議、子域名、主域名、端口號(hào),其中的任意一個(gè)不同的時(shí)候都是不同的域,那也就是算做跨域。
請(qǐng)求跨域的時(shí)候并不是請(qǐng)求發(fā)不出去,請(qǐng)求能發(fā)出去,服務(wù)端能收到請(qǐng)求并正常返回結(jié)果,只是結(jié)果被瀏覽器攔截了,正是因?yàn)橥床呗缘南拗?,同源策略的要求是協(xié)議、域名、和端口號(hào)都完全一致才可以進(jìn)行正常的通信。
需要說明的幾個(gè)點(diǎn):
1.如果是協(xié)議和端口造成的跨域問題,前端是無能為力的。
2.在跨域問題上,域只是通過訪問URL的頭部(.com或者.cn以及之前部分)來識(shí)別的,而不是根據(jù)域名對(duì)應(yīng)的IP地址是否相同去判斷的。
3.在實(shí)際生產(chǎn)中JSONP的局限性很大,基本上不會(huì)去考慮,使用幾率很小。
目前我們的狀況是在服務(wù)器端頭部增加配置:
header( "Access-Control-Allow-Origin:*" ); header( "Access-Control-Allow-Methods:POST,GET" );
各位路過的大佬有什么優(yōu)秀的方案嗎?請(qǐng)不吝賜教
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104324.html
摘要:解決方案跨域問題可以說在前端方面不可避免,但同源策略畢竟在保護(hù)網(wǎng)絡(luò)信息安全方面起到很大的作用。 起因 說起來源...今天去茶水間倒水時(shí),偶然聽到公司面試官在問面試者前端跨域的如何解決。我心中默默想了一想,啪啪啪瞬間想出幾個(gè)關(guān)鍵詞,iframe,cors,同源策略,jsonp...轉(zhuǎn)念一想,雖然這是很常見的面試題,然而我在開發(fā)過程中,還真沒有用過jsonp這種方式...就連原理也說不好。...
摘要:解決方案跨域問題可以說在前端方面不可避免,但同源策略畢竟在保護(hù)網(wǎng)絡(luò)信息安全方面起到很大的作用。 起因 說起來源...今天去茶水間倒水時(shí),偶然聽到公司面試官在問面試者前端跨域的如何解決。我心中默默想了一想,啪啪啪瞬間想出幾個(gè)關(guān)鍵詞,iframe,cors,同源策略,jsonp...轉(zhuǎn)念一想,雖然這是很常見的面試題,然而我在開發(fā)過程中,還真沒有用過jsonp這種方式...就連原理也說不好。...
摘要:還是老規(guī)矩,從易到難吧傳統(tǒng)的定時(shí)器,異步編程等。分配對(duì)象時(shí),先是在空間中進(jìn)行分配。內(nèi)存泄漏內(nèi)存泄漏是指程序中己動(dòng)態(tài)分配的堆內(nèi)存由于某種原因程序未釋放或無法釋放,造成系統(tǒng)內(nèi)存的浪費(fèi),導(dǎo)致程序運(yùn)行速度減慢甚至系統(tǒng)崩潰等嚴(yán)重后果。 showImg(https://segmentfault.com/img/bVbwkad?w=1286&h=876); 網(wǎng)上參差不棄的面試題,本文由淺入深,讓你在...
摘要:還是老規(guī)矩,從易到難吧傳統(tǒng)的定時(shí)器,異步編程等。分配對(duì)象時(shí),先是在空間中進(jìn)行分配。內(nèi)存泄漏內(nèi)存泄漏是指程序中己動(dòng)態(tài)分配的堆內(nèi)存由于某種原因程序未釋放或無法釋放,造成系統(tǒng)內(nèi)存的浪費(fèi),導(dǎo)致程序運(yùn)行速度減慢甚至系統(tǒng)崩潰等嚴(yán)重后果。 showImg(https://segmentfault.com/img/bVbwkad?w=1286&h=876); 網(wǎng)上參差不棄的面試題,本文由淺入深,讓你在...
閱讀 3444·2021-11-16 11:45
閱讀 2726·2021-09-22 15:23
閱讀 622·2021-07-30 14:58
閱讀 509·2019-08-30 15:54
閱讀 2301·2019-08-29 16:19
閱讀 3086·2019-08-29 12:45
閱讀 1010·2019-08-23 17:57
閱讀 1852·2019-08-23 17:54