Parse and output protocol.
Add charset.
Add error printing, read in : after protocol.
Read in ? after protocol:.
Parse and write key/value pairs.
URI decode.