Hallo Christian,
du verstehst das nicht. Es ist in seinem Framework so drin und darum unbedingt richtig so.
Und er hat ja auch nicht völlig unrecht. Die einschlägigen RfCs (z.B. https://tools.ietf.org/html/rfc3986#section-6.2.3) sagen klar, dass man nur Schema und Host normalisieren muss und den Rest nicht sollte. Meint: Schema und Host sind case-insensitive gedacht, und der Rest ist per Default case-sensitive gedacht.
Wie Mike Kagansky (dessen Qualifikation ich nicht einordnen kann) hier vor 3 Jahren schrieb, gelten die entsprechenden RfCs für die Clients, nicht für die Server, und er schließt daraus, dass ein Client keine Annahmen treffen darf, wie ein Server seine URIs interpretiert. Der Server ist dagegen frei darin, in seiner Interpretation großzügig zu sein. Das entspricht auch generell der Internet-Philosophie: Sei strikt in dem, was Du erzeugst, und großzügig in dem, was Du verstehst.
Insofern ist ein Server, der Query-Parameter case-insensitive prüft, im Recht. Er muss es nicht tun, aber er darf es. Die Clients dürfen allerdings nicht davon ausgehen, dass er das tut. Wenn sie es tun, gehen sie kaputt, sobald jemand den Server austauscht.
Und das ist hier der Punkt. Das alte CGI des OP war case-insensitive und hatte Clients, die mit unterschiedlicher Schreibung unterwegs sind. Der OP hat den Wunsch, diese Clients nicht abzuschießen und möchte darum weiter case-insensitive bleiben. Dazu ist er nicht verpflichtet, aber kein RfC verbietet es. Also darf er es tun.
Rolf
--
sumpsi - posui - clusi