В дополнение к неотображаемым символам вам придется также использовать коды, вставляя в URL зарезервированные и небезопасные символы.

Зарезервированными называются символы, имеющие в самом URL специальный смысл. Наклонная черта, к примеру, в URL служит для отделения друг от друга элементов пути. Если нужно включить в поле URL символ наклонной черты, который не должен служить разделителем элементов, следует закодировать его последовательностью %2F:

http://www.calculator.com/compute?3%2f4

Этот URL ссылается на ресурс, именуемый compute, на сервере www.calculator.com и передает ему строку 3/4, предваренную вопросительным знаком (?). Предположительно, ресурс представляет собой программу со стороны сервера, производящую над переданным значением некоторые арифметические действия и возвращающую результат.

Небезопасными являются символы, которые, хотя и не имеют специального значения в URL, могут иметь особый смысл в контексте, включающем указатель ресурса. К примеру, URL, являющийся значением атрибута некоего тега, выделяется двойными кавычками (»"). Если бы вам случилось включить в URL двойные кавычки как таковые, то, вероятно, броузер оказался бы в замешательстве. Вместо этого, во избежание возможных конфликтов, следует закодировать символ двойной кавычки последовательностью %22.

В целом, применять коды символов следует всегда, когда есть сомнение, допустимо ли их помещать в URL. Мы советуем кодировать все, что не является цифрой, буквой или одним из символов: $ – _ . + ! * ‘ ( ). Кодирование символа не является ошибкой, если только он не имеет специального значения в URL. В частности, закодировав слэши в URL, вы заставите броузер думать, что это обычные символы, а не разделители элементов пути, что приведет к разрушению URL. Аналогичным образом кодирование амперсанда, используемого в качестве разделителя параметров в URL адресе, аннулирует это его предназначение. Записывайте амперсанды в форме &, и вы достигнете своей цели.



Отправить комментарий