Какой символ можно использовать вместо / для разделения пути 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) ​​в любом случае не придавать слишком большого значения компонентам.

Другие вопросы по тегам