面試官:請說下有哪些跨域解決方案
什么是“跨源”
**不是講跨域嗎 ?怎么又來個“跨源” ?字都能打錯的 ?**??...稍安勿躁,其實我們平常說的跨域是一種狹義的請求場景,簡單來說,就是“跨“過瀏覽器的同源策略[1]去請求資“源”,所以我們叫它“跨源”也沒啥問題。那么,跨源,源是什么?瀏覽器的同源策略什么是同源?協(xié)議,域名,端口都相同就是同源干巴巴的,能不能舉個栗子?栗子:),有的有的:
const?url?=?'https://www.google.com:3000'
比如上面的這個 URL,協(xié)議是:https,域名是 **www.google.com\*\*,端口是[2] 3000。不同源了會怎么樣?會有很多限制,比如:
Cookie,LocalStorage,IndexDB 等存儲性內(nèi)容無法讀取 DOM 節(jié)點無法訪問 Ajax 請求發(fā)出去了,但是響應(yīng)被瀏覽器攔截了
我就想請求個東西,至于嗎,為什么要搞個這么個東西限制我?基于安全考慮,沒有它,你可能會遇到:
Cookie劫持,被惡意網(wǎng)站竊取數(shù)據(jù) 更容易受到 XSS,CSRF 攻擊 無法隔離潛在惡意文件 ... ...
所以,得有。正是因為瀏覽器同源策略的存在,你的 Ajax 請求有可能在發(fā)出去后就被攔截了,它還會給你報個錯:
??Access?to?XMLHttpRequest?at?'xxx'?from?origin?'xxx'?has?been?block?by?CORS,
??policy:?No?'Access-Control-Allow-Origin'?header?is?present?on?the?requested?resource.
這種發(fā)出去拿不到響應(yīng)的感受,就像你在網(wǎng)上沖浪時,被一股神秘的東方力量限制了一樣:
非常難受,所以,我們接下來就來看看怎么用科學(xué)的方法上網(wǎng)(啊呸,科學(xué)的方法解決跨域的問題)。
JSONP
這玩意兒就是利用了
欧美成人午夜视频
|
国产视屏123区
|
人人澡在线视频
|
嫩草 嫩草69
|
成人黄色在线视频
|
