To see the difference, look at the values they contain. Why have it? Why not? Apart from the fact that it's supplied by the server as per the CGI specification, it could come in handy if you ever need to know something about the query string other than just what name/value pairs it contains.