反向代理和网络服务器有啥区别?

Posted

技术标签:

【中文标题】反向代理和网络服务器有啥区别?【英文标题】:What is the difference between reverse proxy and web server?反向代理和网络服务器有什么区别? 【发布时间】:2019-05-16 18:00:13 【问题描述】:

我在What is the difference between application server and web server? 阅读了一篇关于应用服务器与网络服务器的精彩帖子。此外,Difference between proxy server and reverse proxy server 很好地解释了代理服务器是什么。

我还了解到一些 Web 服务器,例如 Apache,内置了反向代理。 (Source)。此外,*** (https://en.wikipedia.org/wiki/Reverse_proxy) 有一张图片,将网络服务器和反向代理显示为单独的实体。

来源:https://en.wikipedia.org/wiki/Reverse_proxy(图片最初来自加拿大隐私,现为 CC0,license info)

所以,我不确定网络服务器和反向代理之间的区别。有人可以解释一下吗?

【问题讨论】:

【参考方案1】:

Web 服务器侦听 HTTP 请求并通过发回 HTTP 响应对其做出反应。

反向代理是一个 Web 服务器,它通过实现 HTTP 客户端来确定做出什么响应。

客户端 A 向反向代理发出 HTTP 请求。反向代理向服务器 B 发出 HTTP 请求。服务器 B 向反向代理发送 HTTP 响应。反向代理将该数据作为其 HTTP 响应发送到客户端 A。

【讨论】:

@昆汀-谢谢你的帮助。我很迷惑。您能否详细说明两点:a)webserver listens for HTTP requests and responds by HTTP response b)web server also implements HTTP client. 如果您能提供诸如(我假设...请原谅我的无知)client --> reverse proxy --> webserver --> app server --> Database 之类的流程,那就太好了。非常感谢您的想法。 client --> reverse proxy which is a webserver --> other webserver --> wherever 再次感谢昆汀。您能否详细说明reverse proxy which is a webserverother webserver 之间的区别。我了解其中一个差异与 reverse proxy server 作为客户的行为有关。还存在哪些其他差异?我很好奇。 @watchtower — 没有任何其他差异

以上是关于反向代理和网络服务器有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

cdn和反向代理

正向代理和反向代理的区别

nginx学习之反向代理负载均衡

转什么是反向代理,如何区别反向与正向代理

API(网关)提供的反向代理和Service Fabric有啥区别?

Ingress 和反向代理有啥区别?