On Wed, Oct 6, 2010 at 9:07 AM, sawyer x <xsawyerx@gmail.com> wrote:
What I'm wondering about are two things:
1. What does the RFC(s) say?

http://tools.ietf.org/html/rfc3986#section-6.2.3

Certain parts of the URI have to be lowercased, or preserve case sensitivity, but in my searching so far, I haven't found anything explicitly about the param key names.  This quote from the RFC seems to imply it is discretionary:

Some schemes define additional subcomponents that consist of case-insensitive data, giving an implicit license to normalizers to convert this data to a common case (e.g., all lowercase).
 
2. How are other frameworks handling it?

Not directly related to params, catalyst is case insensitive by default:
http://search.cpan.org/~mramberg/Catalyst-Runtime-5.7012/lib/Catalyst.pm#CASE_SENSITIVITY

I believe that webgui.org is case-insensitive

Ruby on Rails has decided to be case sensitive, but the maintainer has not told anyone why he decided that:

https://rails.lighthouseapp.com/projects/8994/tickets/393-routes-are-case-sensitive

URI should be case sensitive by default. It might be nice to give option to make them insenitive though.

Thanks.


Without spending a lot more time researching, it would seem like the correct approach is:

1) case sensitive by default
2) case insensitive by config

My two cents.

Mike.