Squid Web Cache wiki

Squid Web Cache documentation

🔗 HTTP header parsing problems

🔗 Symptoms

🔗 Explanation

The client or server has sent Squid a header which does not comply with the HTTP protocol standards. HTTP headers are plain text and have the format Name: values. The quoted value inside {} brackets is what Squid was given.

Set relaxed_header_parser to warn (or off) for more detailed diagnostics of the problem.

🔗 Examples

This broken server (or script) is sending two replies. But it fails to send the reply separator between them. So Squid believe the start of the second reply is just another header in the first:

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

This broken software is having the same problem. Although it is mangling the body data into the headers. The garbage you see here is some form of serialized data.

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!!!<^~! 

🔗 Workaround

Categories: KnowledgeBase

Navigation: Site Search, Site Pages, Categories, 🔼 go up