Динамические URL-адреса - с или без косой черты?

Короткий вопрос - что лучше всего - использовать или не использовать конечную косую черту в URL-адресах.

Существует много статей: this, this, this.

Однако все они, похоже, имеют дело со статической структурой каталогов. Что касается динамических URL-адресов, например, переписанных или обработанных центральным средством (например, веб-каркасом, например), которые переходят на внутренние ресурсы в зависимости от соглашения/конфигурации. Для них уже не так, что веб-сервер действительно ищет и определяет точные местоположения - это просто вопрос разбора.

Итак, например, с помощью spring mvc вы объявляете, что данный метод класса вызывается, когда URI соответствует /service/action/{pathParam} - для этого URL-адреса, imo, нет смысла иметь завершающую косую черту - обрабатывается запрос одним и тем же сервлетом каждый раз, который выполняет синтаксический анализ.

Я думаю, что нужно просто быть последовательным - либо использовать трейлинг-косые слова везде, либо вообще не использовать их.

Итак:

  • какая лучшая практика - без, или что-то еще - просто быть последовательной
  • какая причина выбора одного над другим

Ответ 1

  • Самое главное: оставаться постоянным - 1 URL == 1 страница
  • перенаправить один (неправильный) в другой (правый) с помощью перенаправления HTTP 301
  • затем снова, если у вас есть сайт, на котором работают разные люди: не делайте трейлинг-косые черты.

в идеальном мире люди просто копируют и вставляют URL-адрес, когда захотят сослаться на ваши вещи. к сожалению, мы не живем в совершенном мире. люди (т.е. ребята, маркетинг) имеют тенденцию печатать на машинке URL-адреса (не спрашивайте меня, почему, они просто делают....), а затем снова имеют тенденцию забывать конечную косую черту в конце.

неверные URL-адреса во внешних ошибках ошибок ссылок ниже, если у вас нет завершающих косых черт.

но для большинства сайтов это не имеет значения. выберите один, придерживайтесь его.