重定向器
网络软件
重定向器是squid的外部程序,它重写来自客户请求的URI。
重定向器是squid的外部程序,它重写来自客户请求的URI。例如,尽管某个用户请求这个页面:http://www.example.com/page1.html ,重定向器可以将请求改变到别的地方,例如:http://www.example.com/page2.html 。squid自动抓取新的URI,就像是客户端的原始请求一样。假如响应可被缓存,squid将它存储在新的URI下。
重定向功能允许你执行与squid相关的许多有趣事情。许多站点使用它们实现如下目的:访问控制,移除广告,本地镜像,甚至用以绕开浏览器的bug。
关于使用重定向器进行访问控制的好处之一是,你可以将用户的请求重定向到某个页面,这个页面详细解释为何她的请求被拒绝。你也会发现重定向器比squid内建的访问控制提供更多的弹性。然而不久你会看到,重定向器并不能访问包含在客户请求里的完整信息。
Squid的源代码没有包含任何重定向程序。作为管理员,你有责任编写自己的重定向器,或者下载别人编写的。该章开头部分描述在squid和重定向进程之间的接口。我也提供几个简单的Perl重定向器示例。假如你志在使用别人的重定向器,而不是自己编写。
许多人使用重定向器来过滤web页面广告。大部分情形下,可以将对GIF或JPEG广告图片的请求,改变为请求位于本地服务器上的,小而空的图片。这样,广告就消失了,然而不会影响页面布局
所以在本质上,重定向器其实就是一个程序,它从标准输入里读取URI和其他信息,并将新的URI写往标准输出。Per和Python是写重定向器的流行语言,尽管某些作者使用编译性语言(例如C)以求更好的性能。
总的来说:重定向器是运行在OSI 模型的表示层上的一个软件,并且在客户端和服务端网络操作系统上都存在。一旦用户或者应用程序请求资源,重定向器就会分析这个请求。然后定向器检查该请求以确定资源是本地的还是远程的。如果是本地的,那么定向器就将请求发送到CPU立即进行处理。如果资源是远程的,那么重定向器就通过网络将请求发送给服务器或者这个资源的主机
参考资料
最新修订时间:2023-08-09 10:23
目录
概述
参考资料