Oh, and it can get messy and lead to exploits really quick.
Incorrect parsing and parsing differences between libraries can lead to exciting exploits.
Like what do you do when there is multiple of the same headers with odd line breaks?
GET /example HTTP/1.1
Host: bad-stuff-here
Host: vulnerable-website.com