nginx反向代理和正向代理的区别是什么?下面本篇文章就来给大家介绍一下,希望对你们有所帮助。
什么是正向代理?
正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
什么是反向代理?
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
正向代理和反向代理的区别:(可以看下面的图示来感受)
正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
正向代理是客户端知道目的服务器在哪里,然后通过代理服务器去访问客户端不能直接访问的目标服务器,而目标服务器并不知道客户端通过什么来访问的。 即正向代理代理的是客户端 。
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
反向代理中,外部网络对于内部网络具体的情况是不可见的,而代理服务器来代理内部网络来返回所要的数据(当然静态文件可以放在Nginx,这个静动分离再说),而服务端知道请求的来源以及数据。反向代理代理的是服务端 。
以上是nginx反向代理和正向代理的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!