目录
●代理是什么
代理一词在不同语境有不同的含义。汉语中的解释是“暂时代人担任某单位的负责职务”;计算机编程设计模式中的含义是“用一个代理类来隐藏具体实现类的实现细节,通常还用于在真实的实现的前后添加一部分逻辑”;而本文要介绍的是计算机网络领域中的“代理”。通常,它是以广义的代理服务器的形式存在的,之所以说是广义,是因为它可能不单独是一台物理服务器,也可能是运行在服务器上的一个程序。它可以分为两类:正向代理和反向代理。无论何种代理,其解决的都是跨网域的问题。跨网域问题指的是两台服务器/电脑位于不同的网段内,例如公司内部局域网和万维网,资源不互通的情况。
●正向代理
正向代理通常用在局域网想访问万维网上某服务器的情况,例如国内用户(墙内也是一个大的局域网)想访问YouTube服务器,如果直接在浏览器中输入www.youtube.com通常是无法访问的。这个时候,如果存在一台服务器,它可以访问YouTube,你可以访问它,那就可以把它作为一个正向代理服务器。当你想访问YouTube的时候,你把请求发给正向代理服务器,由它转发请求去访问YouTube,并将响应返还给你。
其示例如下:
通常,使用正向代理服务器,需要在自己的服务器/电脑上配置其IP和端口,并指定规程:全部转发、部分转发。
大部分情况下,正向代理服务器用在窄网域向宽网域请求的情况。例如公司里面因为安全问题,电脑是不直接连接外网的,但是有一台专门的正向代理服务器,当需要上网的时候,申请权限,连接正向代理服务器,再去访问外部的网络。