I am not a fan of bumping old articles but because this was one of the first responses for this particular issue I felt a need to clarify something.
As @Bhavin Shah answer states the domain part of the url is case insensitive, so
http://google.com
and
http://GOOGLE.COM
and
http://GoOgLe.CoM
are all the same but everything after the domain name part is considered case sensitive.
so...
http://GOOGLE.COM/ABOUT
and
http://GOOGLE.COM/about
are different.
Note: I am talking "technically" and not "literally" in a lot of cases, most actually, servers are setup to handle these items the same, but it is possible to set them up so they are NOT handled the same.
Different servers handle this differently and in some cases they Have to be case sensitive. In many cases query string values are encoded (such as Session Ids or Base64 encoded data thats passed as a query string value) These items are case sensitive by their nature so the server has to be case sensitive in handling them.
So to answer the question, "should" servers be case sensitive in grabbing this data, the answer is "yes, most definitely."
Of course not everything needs to be case sensitive but the server should be aware of what that is and how to handle those cases.
@Hart Simha's comment basically says the same thing. I missed it before I posted so I want to give credit where credit is due.