有同学问我怎么理解反向代理和CDN加速。既然叫“反向”,是否有对应的“正向”了?答案是有,不过一般就直接叫代理了。
日常中也不难见,比如很多公司电脑上网,需要配置一个代理,这个代理就是正向代理,显然它被安装在客户端。
所谓“反向代理”,是指安装在服务端的代理。做互联网后台开发的人比较容易理解,常见的情形是部署反向代理面向用户,用户直接反向代理,然后由反向代理去连接内部的各种系统。
大型网站,常常部署反向代理来加速对网页的访问速度,反向代理通过带缓存,对用户提供高效的网页访问,当被访问的内容未在缓存中命中时,反向代理就会向后端的服务器请求,拿到后再缓存。当然,不是所有数据都可以缓存,比如动态CGI一般不便缓存。