add "query_string" as a separate argument.
split out the part that builds http message for the sake of testing it individually.
rework a bit on reading HTTP message

Also add a "live" test to test a few websites.