Вы наверняка заметили, что некоторые специальные символы могут проскальзывать в URL (часто виновником этого являются запятые), а другие - нет. Существует ряд символов, помимо стандартных цифр и букв, к которым вы привыкли, которые могут работать в URL.
Допустимые символы URL: Какие символы разрешены в URL?
Не все специальные символы будут вызывать проблемы в ваших URL. Существует множество безопасных символов. Другие небезопасные символы могут привести к ухудшению читаемости, поломке некоторых браузеров и проблемам для краулеров.
Безопасные символы
Стандартные (безопасные) символы:
- 0 1 2 3 4 5 6 7 8 9
- a b c d e f g h I j k l m n o p q r s t u v w x y z
- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Специальные символы:
- $ - _ . + ! * ' ( ) ,
И зарезервированные символы, такие как ? (используется для обозначения запроса)
Нужно ли использовать специальные (зарезервированные) символы в URL-адресах?
Обычно на веб-сайтах для разделения слов используются алфавитно-цифровые символы и только один специальный символ - дефис.
Вряд ли кто-то ожидает увидеть или ввести в URL специальный символ, отличный от дефиса. По этой причине, а также из-за неаккуратного вида и риска случайного включения небезопасных символов, я бы всегда придерживался буквенно-цифровых символов и дефиса.
Небезопасные символы URL: Какие символы запрещены в URL?
Любой символ, не входящий в список "Безопасных символов", приведенный выше, является небезопасным и не может быть использован в URL.
Небезопасные символы небезопасны по разным причинам. Многие из них часто используются в различных системах, поэтому могут привести к нежелательному результату, который может нарушить URL.
Небезопасные символы:
- [ ] { } | \ " % ~ # < >
или все, что не является одним из безопасных символов, перечисленных выше.
Почему некоторые символы не работают?
Небезопасные символы могут привести к неожиданному поведению.
Например, символ пробела не следует использовать, потому что пробелы могут исчезнуть или измениться при транскрибировании URL-адресов или использовании их в различных текстовых процессорах.
При необходимости эти небезопасные символы можно закодировать в URL.
В целом, я бы рекомендовал использовать только буквенно-цифровые символы.