🔗 HTTP 头部解析问题
🔗 症状
警告:无法解析的 HTTP 头部字段 {...}警告:无法解析的 HTTP 头部字段 {HTTP/1.0 200 OK}
🔗 解释
客户端或服务器发送给 Squid 的头部不符合 HTTP 协议标准。HTTP 头部是纯文本,格式为 **名称: 值**。{} 括号内的带引号的值是 Squid 收到的内容。
将 relaxed_header_parser 设置为 **warn** (或 **off**) 以获得更详细的问题诊断。
🔗 示例
这个有问题的服务器(或脚本)发送了两个回复。但它未能在这两个回复之间发送回复分隔符。因此 Squid 认为第二个回复的开头是第一个回复的另一个头部。
2005/04/13 22:44:17| WARNING: unparseable HTTP header field {HTTP/1.0 200 OK}
2005/04/13 22:44:17| in {Server: .
Content-type: text/html
Date: Wed, 13 Apr 2005 20:45:40 GMT
Connection: close
HTTP/1.0 200 OK
Server: .
Content-type: text/html
Connection: close
}
这个有问题的软件也存在同样的问题。尽管它将响应体数据篡改成了头部。您在此处看到的垃圾数据是某种形式的序列化数据。
2005/09/11 23:19:36| WARNING: unparseable HTTP header field {N*!!!PT!!!U_~~~~~~8OQVn8PP>0!!!NB!!!)2~!!!1t!!!7T!!!<^~!#Ds0*E[XF![(N*!!!PT!!!U_~~~~~~8OQVn8PP>0 !!!NB!!!)<~!!!1t!!!7T!!!<^~!
🔗 规避方法
- 修复发送此头部的软件。如果您无法自行解决,请向有问题的服务器或客户端软件的作者报告。这在 2005 年左右曾是一个大问题,但随着所有中间件代理都丢弃这些请求,现在已经不那么常见了。作者需要尽快了解情况,以便他们能够让自己的网站或代理正常工作。
- 注意:在不告知任何人的情况下绕过代理并不是一个有效的修复方法。您的客户端将面临连接问题,从他们的角度很难确定。他们仍然会面临来自互联网上其他软件的相同问题。
类别: 知识库
导航: 站点搜索、站点页面、类别、🔼 向上