鍍金池/ 問答/人工智能  HTML/ node中跨域代理 proxyTable的原理是什么?

node中跨域代理 proxyTable的原理是什么?

1.node中跨域代理 proxyTable的原理是什么?

2.我在瀏覽器和服務(wù)端都沒有設(shè)置CORS的情況下,只要設(shè)置proxytable就可以跨域了,這樣是不是就違背了同源策略的初衷?

ps: 希望見到比較有水準(zhǔn)的解釋

回答
編輯回答
陪我終

你說的應(yīng)該是vue-cli生成的配置文件上的proxytable
1.事實(shí)上在你運(yùn)行的時(shí)候,會(huì)配置啟動(dòng)一個(gè)node服務(wù),這個(gè)服務(wù)的作用1是靜態(tài)文件服務(wù),讓你可以訪問到html/js等文件包括監(jiān)聽文件變動(dòng)等,2是啟動(dòng)一個(gè)http代理,你js發(fā)送的請(qǐng)求會(huì)請(qǐng)求到這個(gè)服務(wù)A,由服務(wù)A代理到服務(wù)B,而服務(wù)A和靜態(tài)文件服務(wù)器是同源的,并不影響同源策略。
2.瀏覽器是沒有必要設(shè)置CORS的,服務(wù)器設(shè)置CORS就是為了告知瀏覽器允許訪問我的源,不是跟我同源的,要在瀏覽器接受到響應(yīng)后拋出錯(cuò)誤。

2018年3月17日 02:50
編輯回答
旖襯

跨域是瀏覽器禁止的,服務(wù)端并不禁止跨域
所以瀏覽器可以發(fā)給自己的服務(wù)端然后,由自己的服務(wù)端再轉(zhuǎn)發(fā)給要跨域的服務(wù)端,做一層代理
vue-cliproxyTable用的是http-proxy-middleware中間件
create-react-app用的是webpack-dev-server內(nèi)部也是用的http-proxy-middleware

2018年6月29日 12:35