Какой символ можно использовать вместо / для разделения пути URL?
В URL-адресе в соответствии с этим синтаксисом я хочу использовать другой разделитель для разделения пути в URL-адресе.
Например:
В этом URL
https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Generic_syntax
, Я хочу разделить
wiki/Uniform_Resource_Identifier
с символом, отличным от
/
, но я хочу убедиться, что он не нарушает синтаксис URL, формализованный IETF.
Меня беспокоит только путь, как мне разделить его компоненты, такие как
wiki
и
Uniform_Resource_Identifier
2 ответа
Вы можете использовать кодировку URL для /
%2F
https://en.wikipedia.org/wiki%2FUniform_Resource_Identifier#Generic_syntax
Что касается использования URI в вашем приложении, этот символ едва ли более особенный, чем любой другой символ, за двумя слабыми исключениями:
- Использование любого символа, определенного как разделитель (разделители ), при использовании в качестве разделителя имеет gen-delims и sub-delims в RFC3986преимущество , которое вы можете при желании избежать. Это означает, что вы можете иметь в своем имени, даже если вы разделяете компоненты косой чертой, как в
wiki/AC%2FDC
(который имеет компонентAC/DC
после того, как ваше приложение выполнит разделение), но точно так же вы можете разделить свои компоненты с помощью;
и все еще естьwiki;Steins%3bGate
дляSteins;Gate
. - Только при использовании относительных ссылок тогда
/
особенные в том, что вы можете делать../../
на косых чертах, но не с любым другим разделителем. (И это единственное место, где действительно имеют значение отрезки пути).
Так что на самом деле выберите то, что вам нравится для вашего приложения; клиент должен (по крайней мере, при HATEOAS или действительно общих предположениях REST) в любом случае не придавать слишком большого значения компонентам.