Forum Moderators: open
Most internet-based application protocols (like HTTP, SMTP, etc) are text-based. They use what's called "Net ASCII" as their character set, and Net ASCII ends each line with a carriage return followed by a linefeed (\r\n). Windows follows the same convention, while UNIX uses a linefeed only (\n), and many other operating systems (including MacOS) have historically used a carriage return only (\r).
My first suspicion would be a UNIX program attempting to process Net ASCII text and failing to treat the \r as special, causing it to be passed on as part of the HTTP request, but lots of things could have happened. What was the user agent on that request?