This directive tells Squid what to do about URIs that contain whitespace characters (i.e., space and tab). The default action is to strip out the whitespace and shift the valid characters down as necessary. This is the behavior recommended by RFC 2396.

If you set this directive to allow, Squid doesn't change the URI. It is passed through to the origin server as is. This setting may cause some problems with redirectors and log file parsers. Both use whitespace as a field delimiter, and a URI with whitespace adds an additional field (or fields) to the redirector input line and the access.log entry.

The deny setting instructs Squid to deny such a request, as though it were blocked by the access control rules. Note, however, that the URI is still written to access.log with the whitespace characters.

With the encode setting, Squid changes whitespace characters into their RFC 1738 equivalents. When some origin servers generate URIs that contain whitespace, this is what they should be doing in the first place.

Finally, the chop setting instructs Squid to simply cut off the URI at the first whitespace character.


uri_whitespace allow|deny|strip|encode|chop


uri_whitespace strip


uri_whitespace deny


access_log, redirector_program

    Appendix A. Config File Reference