@ неверный ответ gbjbaanb: RFC указывают только разрешенный набор символов для строки запроса. Как фрагмент пути и компонентов URI, то запроса URI компоненты имеет смысл только только власти предоставляющих ресурс.
Это зависит от того, относится ли это к регистру или нет.
В случае C# и IIS, резервное хранилище для анализируемой строки запроса в HttpRequest
объекта является System.Collections.Specialized.NameValueCollection
, который случается быть нечувствительны к регистру (по умолчанию).
Поскольку этот класс предлагает другие конструкторы, можно предоставить различные сопоставления равенства, нет ничего, что могло бы помешать реализации сделать его чувствительным к регистру.
Кроме того, поскольку сама страница (и клиентский javascript) имеет доступ к необработанному URI, они могут свободно делать с ними все, что захотят.
Если строка запроса построена в результате отправки HTML-формы, ключи (имена) исходят из значения атрибута формы name
, который, как утверждают спецификации HTML, учитывает регистр. Но, как я знаю, никто этого не делает.
Итак, в конце дня вы должны знать, что ожидает обработчик запроса в строке запроса. Он может (или не может) быть чувствительным к регистру.
Что делать, если язык изменен на классический ASP. –
@ ch.smrutiranjanparida, выбор языка не зависит от того, как должен обрабатываться параметр запроса. Используете ли вы COBOL, Perl, Erlang, Classic ASP, R, Java, Lisp, не имеет значения. Конечно, библиотеки, которые интерпретируют запросы, могут иметь ошибки, а программисты могут прилежно выполнять строчные querystrings (и * не должны *), но с точки зрения URI _ они разные, если дело другое. См. [RFC] (http://tools.ietf.org/html/rfc3986#page-11) в [принятом ответе] (http://stackoverflow.com/a/24700171/111575) для получения более подробной информации. – Abel
@ Абель получила. Спасибо за ввод. :) –