HTTP代理 - pingdongyi/blog-2 GitHub Wiki
HTTP代理一般是通过代理服务器来实现的,如nginx的反向代理等。
代理服务器是网络的中间实体,位于web客户端和服务器之间,是一个中间人的角色,所以他可以被看作是客户端也可以被看作是服务器。
由于大量的网站在国内都不能访问,如facebook,youtube等,一般都是通过代理进行翻墙访问。
HTTP代理服务器通过删除HTTP报文中的身份特性(比如客户端的IP地址, 或cookie,或URI的会话ID), 从而对远端服务器隐藏原始用户的IP地址以及其他细节。 同时HTTP代理服务器上也不会记录原始用户访问记录的log,从而不会被追踪到。
一般内网是局域网,没有外网访问权限,所以可以通过代理服务器访问外网的东西。
大部分代理服务器都有缓存的功能,可以在代理服务器把响应内容缓存下来,如果代理服务器有请求的内容且是最新的,则直接返回给客户端,而不用再去请求最终的服务器,从而也可以提交访问速度。
针对一些非法的访问或是一些成人内容可以通过代理来过滤禁止访问等。
但代理服务器也存在一定的安全问题,它会存储或看到请求中的敏感数据,比如用户名、密码或信用卡卡号等。所以可以通过HTTPS访问,来加密请求内容及数据,这样代理服务器就看不到其中的数据了。