This is a parser for HTTP messages written in C. It parses both requests and responses. The parser is designed to be used in performance HTTP applications. It does not make any system calls nor allocations, it does not buffer data, it can be interrupted at anytime. Depending on the architecture, it only requires about 40 bytes of data per message stream (in a web server that is per connection).