set SO_REUSEADDR on listener sockets
send http responses on parsing errors
refactor the parser
parse headers
start a test suite
add tests for invalid request lines