一、实现原理 " r# }- o9 K6 \0 g9 J( @4 X 反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。: o. o* r' Y& d& B! P3 ?8 G
" K. o3 Y, V2 Z
可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。/ v$ U4 G7 H& \ B9 t
; O/ X- @+ r, m* J7 B/ X
二、程序运行过程$ m" F/ R/ m |6 K2 r& E8 J; b
浏览器访问页面,假设访问淘宝页面:taobao.com/index.html& e; z* B5 s e F
; k8 U {5 o, K5 Z9 d# ?: T4 h( [
taobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。) j3 Y, j5 S K2 V
/ H$ t9 |& O/ H' Xnginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。 d7 Q' _1 c, Q2 z6 @9 v0 |' g
浏览器运行index.html文件,发起taobao.com/api/getNew请求 0 V3 d" z" _0 K2 v) n+ t: N Z' p }0 [' @ C) T. ?1 xnginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。7 B+ h& q8 H) C% n4 w! B2 G' q6 |
7 z" @# J: n& L* C
淘宝服务器将数据返回给nginx,再返回给浏览器执行。