the requested url could not be retrieved
0: 代理服务器简介
代理服务器是建立在TCP/IP协议应用层上的一种服务软件,是以http协议为基础的。工作过程简单来说分为4步:客户端向服务器发送的请求到达代理服务器;代理服务器把请求转发给客户端真正需要联系的服务器;服务器向代理服务器返回响应;代理服务器把响应返回给客户端。
启动代理服务器,此时代理服务器主进程会一直监听某个绑定的端口,同时会初始化代理服务器缓存。
客户端A向代理服务器发出访问Web服务器资源的请求。
当代理服务器主进程监听到客户端A发来了请求,便会创建一个子进程应对客户端A发来的请求;而主进程继续进行监听工作。
已创建的代理服务器子进程与客户端建立连接,读取客户请求并对客户请求进行解析,然后依照在代理服务器上预设的访问规则列表,检验当前接收到的请求;如果请求满足规则约束,则可以在代理服务器缓存中查找是否存在所需要的信息。
子进程开始查询缓存,根据查询结果做出不同处理。
一种情况是在缓存中命中客户端A请求的信息,并且该信息没有过期,则将信息直接传送给客户端。依据具体的缓存更新算法更新代理服务器缓存。
另一种情况是缓存中命中客户端A请求的信息,并且该信息已经过期,则该子进程代理客户端A向目标Web服务器发出请求。
目标Web服务器响应代理服务器子进程发来的请求,同时代理服务器子进程依据具体的缓存更新算法更新代理服务器缓存。
代理服务器子进程将目标Web服务器回应的信息转送给客户端A。
代理服务器子进程处理完客户端A的代理服务后,进程自动终止,所有相关资源(各种连接)全部释放。
其他客户端的请求过程同上。
① 客户端A向代理服务器提出访问Internet的请求。
② 代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如果满足规则,则在缓存中查找是否存在需要的信息。
③ 如果缓存中存在客户端A需要的信息,则将信息传送给客户端。如果不存在,代理服务器就代替客户端向Internet上的主机请求指定的信息。
④ Internet上的主机将代理服务器的请求信息发送到代理服务器中,同时代理服务器会将信息存入缓存中。
⑤ 代理服务器将Internet上主机的回应信息传送给客户端A。
⑥ 客户端B向代理服务器提出相同的请求。
⑦ 代理服务器也首先与访问控制列表中的访问规则相对照。
⑧ 如果满足规则,则将缓存中的信息传送给客户端B。
因此利用上面代理服务器的原理,我们可以对目标Web服务器响应的数据包进行更改,如添加自己的代码到响应的数据包中。
1:代理服务器squit遇到的问题
首先看看遇到的问题:
上面的图中可以知道,deny了所有的TCP连接请求,TCP_denied/403。
2:squid常用命令:
/usr/local/squid/sbin/squid -z 初始化缓存空间
/usr/local/squid/sbin/squid 启动
/usr/local/squid/sbin/squid -k shutdown 停止
/usr/local/squid/sbin/squid -k reconfigure 重新载入配置文件
/usr/local/squid/sbin/squid -k rotate 轮循日志
3:squit的拒绝日志分析
其中在配置文件中添加如下选项:
debug_options ALL,4
cache_log /var/log/squid/ cache.log
之后查看文件cache.log文件,此处分析一个完整的HTTP请求到达squit之后,squit是如何处理此请求的。
相关阅读
网站URL的优化怎么做?网站优化越来越受到企业老板的关注,无论是刚入行的新手seoer,还是已经做了3、4年的老手,很多站长会选择把重
SEO优化原则,保证url链接的规范性。规范化网址在SEO优化工作中,是一个重要而又经常被忽视的因素,特别是一些中小企业站点,甚至是
短网址生成接口 请求地址 http://dwz.cn/admin/create 请求方式 POST 请求数据结构 JSON 请求示例 {"url":"http://wwww.ba
我之前在新网注册的域名www.linsoftware.com,开始使用新网的DNS服务,后来发现转发不成功,原来新网停止了URL的转发了。 原文如下: h
URL中的感叹号! 学习来源: http://blog.csdn.net/shb_derek1/article/details/19924529 http://bbs.csdn.net/