Динамические URL-адреса - с или без косой черты?
Короткий вопрос - что лучше всего - использовать или не использовать конечную косую черту в URL-адресах.
Существует много статей: this, this, this.
Однако все они, похоже, имеют дело со статической структурой каталогов. Что касается динамических URL-адресов, например, переписанных или обработанных центральным средством (например, веб-каркасом, например), которые переходят на внутренние ресурсы в зависимости от соглашения/конфигурации. Для них уже не так, что веб-сервер действительно ищет и определяет точные местоположения - это просто вопрос разбора.
Итак, например, с помощью spring mvc вы объявляете, что данный метод класса вызывается, когда URI соответствует /service/action/{pathParam}
- для этого URL-адреса, imo, нет смысла иметь завершающую косую черту - обрабатывается запрос одним и тем же сервлетом каждый раз, который выполняет синтаксический анализ.
Я думаю, что нужно просто быть последовательным - либо использовать трейлинг-косые слова везде, либо вообще не использовать их.
Итак:
- какая лучшая практика - без, или что-то еще - просто быть последовательной
- какая причина выбора одного над другим
Ответы
Ответ 1
- Самое главное: оставаться постоянным - 1 URL == 1 страница
- перенаправить один (неправильный) в другой (правый) с помощью перенаправления HTTP 301
- затем снова, если у вас есть сайт, на котором работают разные люди: не делайте трейлинг-косые черты.
в идеальном мире люди просто копируют и вставляют URL-адрес, когда захотят сослаться на ваши вещи. к сожалению, мы не живем в совершенном мире. люди (т.е. ребята, маркетинг) имеют тенденцию печатать на машинке URL-адреса (не спрашивайте меня, почему, они просто делают....), а затем снова имеют тенденцию забывать конечную косую черту в конце.
неверные URL-адреса во внешних ошибках ошибок ссылок ниже, если у вас нет завершающих косых черт.
но для большинства сайтов это не имеет значения. выберите один, придерживайтесь его.