客户端无法直接请求服务器,只能将请求发往转发代理服务器(简称代理服务器),代理服务器将请求转发给服务器,接收到服务器响应后再将响应转发回客户端。适用于客户端从内部网络访问外部网络时,可能由于防火墙的存在无法直接访问外网,这时需要借助转发代理服务器访问外部网络
内网不能直接访问外网,要通过代理服务器访问外网。 此时是代理服务器去访问服务器,用户知道我要请求哪个服务器。但是服务器不知道是哪个用户请求的,用户被隐藏了。
服务器在内网,用户访问不了。于是服务器把自己的信息放到代理服务器上,然后用户是去访问代理服务器。比如我用我的个人电脑做服务器,搭个网站,可以说我的服务器在内网。显然不能直接从公网上访问到我的网站。这时就需要一个反向代理了。
假设代理服务器的80端口只能从内网访问,8080端口能从公网访问。 用户从公网访问代理服务器的8080端口,上一段说了,服务器将自己的信息放到代理服务器上。代理服务器就在自个身上找,看用户请求的服务器有没有在自己身上留信息。
有的话,代理服务器将用户的请求通过nat等方式转发给80端口,然后代理服务器的80端口去访问处在内网的服务器。
如果用户请求的服务器没有再代理服务器上留下信息。那就不好意思,访问不了。(很显然,我用代理服务器给我内网里的服务器做了代理,所以你能从公网通过代理服务器来访问我的服务器。但是你不能通过这个代理服务器上去访问别人在内网上的服务器吧,他又没在代理服务器上做代理)