Являются @, !символы безопасны для настройки URL и маршрутизации? - PullRequest
0 голосов
/ 29 января 2011

У меня есть несколько URL, сформированных как в моем сопоставлении маршрутизатора

/section/{{some_section_name}}
/topic/{{some_topic_name}}

Теперь я думаю преобразовать раздел в шорт /!{{some_section_name}} чтобы избежать явного написания /section

Точно так же я хотел бы использовать /@{{some_topic_name}} вместо /topic/{{some_topic_name}}

Я считаю, что браузер не должен кодировать эти символы самостоятельно. Это нормально использовать! и символы @ в маршруте, как указано выше? Пожалуйста, дайте мне побочные эффекты, используя такие соглашения в Интернете.

1 Ответ

5 голосов
/ 29 января 2011

Символ @ имеет особое значение в URL - это разделитель между (необязательным) именем пользователя / паролем и именем хоста:

//<user>:<password>@<host>:<port>/<url-path>

См. Раздел 3.1 RFC 1738..

Таким образом, хотя это не является строго проблемой для MVC как таковой, это скорее проблема со схемой URL.


Для HTTP такого ограничения нет! символ.Разрешенные символы перечислены в RFC, указанном выше.

...