您的位置:首页 > 理论基础 > 计算机网络

[CDN 技术] squid是否支持http1.1和对KeepAlive支持的个人理解

2012-04-24 10:27 309 查看
原文 http://www.php-oa.com/2008/11/06/squid-keepalive.html
squid是否支持http1.1

研究Squid蛮久了,感觉Squid是不是能实现部分http/1.1的功能一直有疑问,根据日志中见到,当你的请求经过Squid后,然后转到Web服务器时.你会发现Squid中的日志是显示使用的协议为http/1.1,但是Web服务器中的日志是显示的使用的http/1.0.

如果根据Web的日志,Squid是不支持http/1.1的,但是象(keepalive)长连接他是支持的.象Cache-Control,Host这种http.1.1的http头,他是支持的,所以我们可以得出,Squid可以实现部分的http1.1的功能.还不完美.当然不知2.7会不会好些,据讲squid2.7对http1.1做了相当多的开发.

Squid对KeepAlive的支持

client_persistent_connections: 对客户端长连接 KeepAlive.这个参数的支持,默认是打开的.现在的客户端浏览器基本都支持的.
server_persistent_connections: 对服务器的 KeepAlive 打开,注意哦,这个你后面的服务器一定要打开KeepAlive,不然他打开是没用的.
persistent_request_timeout: 这个是 KeepAlive 连接超时时间.建议和后面的Web服务器一样.
half_closed_clients : squid的TCP连接处于半关闭状态,这时候,该TCP连接的发送端已经关闭,而接收端正常工作.默认时,squid将一直保持这种处于半关闭状态的TCP连接,直到返回套接字的读写错误才将其关闭.

其它几个有关时间超时的选项

pconn_timeout : 设置 squid 在与其他服务器和代理建立连接后,该连接闲置多长时间后被关闭.
connect_timeout: 设置 squid 等待连接完成的超时值.
request_timeout: 设置在建立与客户的连接后, squid 将花多长时间等待客户发出 HTTP 请求
client_lifetime: 客户在与 squid 建立连接后,可以将该连接保持多长时间,需要修改小点.
read_timeout:如果在指定的时间内 squid 尚未从被请求的服务器读入任何数据,则 squid 将终止该客户请求.
shutdown_lifetime: 收到重起之关闭 squid 的信息时,对 pending 连接等侍的时间.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: