前端跨域解決 (vscode live server proxy 代理)

這個顯然是處理前端跨域最優(yōu)的方法了,在此記錄下來方便以后使用,附送scss 轉(zhuǎn) css

前提

使用 vscode IDE作為編寫工具

步驟

1.搜索并加載 vscode 插件 live server
2.要文件根目錄創(chuàng)建 ".vscode" 目錄
3.在 .vscode 目錄下創(chuàng)建settings.json
4.proxUri 為代理的目標(biāo)地址
5.baseUri 識別代理的符號 (如下例中 baseUri: '/api', 則以"/api"開頭的網(wǎng)絡(luò)請求都將被識別為需要代理轉(zhuǎn)發(fā)的地址,并把 ‘/api’重寫為空"")

{
    "easysass.formats": [

        {
            "format": "expanded",
            // "extension": ".css"
        }
    ],
    "liveServer.settings.host": "localhost",
    "liveServer.settings.proxy": {
        "enable": true,
        "baseUri": "/api",
        "proxyUri": "http://127.0.0.1:7001"http://測試
    },
    "liveServer.settings.donotVerifyTags": true,
    "window.zoomLevel": 0,
}

后記

跨域與同源策略

1.ajax請求會受到瀏覽器同源策略的限制(同源 = 域名 + 端口 都一致)
2.ajax請求默認(rèn)攜帶 同源下的所有cookie, 如果不做限制 a 去請求 b 的時候就等于把a(bǔ)所有的cookie 都告訴b。
3.同源下: 張三的網(wǎng)站只能訪問張三的內(nèi)容如鞋子衣服吃飯等等,如果想訪問李四的,瀏覽器就不讓你干了。如果充許這么干的話,張三的cookie隱私將直接暴露給李四,李四有可能干一些不懷好意的事情。
4.跨域情況:張三把錢都放在李四那里,現(xiàn)在張三想去李四那邊取錢,這時候就需要跨域了。
5.跨域怎么解決呢?接下來把解決問題的思路簡單描繪一下。
5.1:李四告訴全世界說我對錢不感興趣,只要我有,你們所有人都隨便來取。因此,當(dāng)瀏覽器看到張三要取錢的人是李四這種慈善家,就不再攔著你了。
5.2:李四不是慈善家怎么辦?于是張三這個時候就很討厭瀏覽器,想了個辦法繞過瀏覽器,然后另外找了個代理去跟李四取錢
5.2.1: 問題是繞過瀏覽器?怎么繞呢? 于是張三自己建了個服務(wù)器,每次要跟李四取錢的時候就欺騙瀏覽器說我要跟自己的服務(wù)器取錢,瀏覽器這個時候也就不再攔著你了
5.2.2:當(dāng)張三自己的服務(wù)器接收到跟李四取錢任務(wù)后,就以proxy代理的身份向李四取錢,取完錢之后再通過瀏覽器給了張三
5.2.3:vscode 中的live server 插件里面就這個代理向李四取錢的代理服務(wù)器功能,本文settings.json 中包含了配置信息
6.當(dāng)然還有一些很多牛叉的解決跨域的方法。若有興趣的同學(xué)可以一起研究探討。

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

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

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