#url #url-design
#url #url-дизайн
Вопрос:
Кто-нибудь знает о документации, RFC, руководствах или исследованиях, которые могут помочь перенести обсуждение дизайна URL-адреса с мнения и эмоций на исследования, документацию и факты?
Допустим, мы создаем традиционное банковское приложение на основе HTML, не относящееся к SPA, в котором можно выбирать между учетными записями. Текущая выбранная учетная запись — это состояние пользовательского интерфейса. Эта выбранная учетная запись может быть «сохранена» (по крайней мере) этими двумя способами:
- В URL-адресе, подобном
https://mybank.com/balance?accountID=23423498
илиhttps://mybank.com/accounts/23423498/balance
- Где-то в другом месте, например, в файле cookie или в состоянии сеанса, чтобы
https://mybank.com/accounts/balance
показать баланс выбранной в данный момент учетной записи, какой бы она ни была.
# 1 Делает возможными глубокие ссылки и несколько вкладок, в то время как # 2 дает более чистые / простые URL-адреса, особенно если таких «измерений» состояния пользовательского интерфейса несколько, и упрощает реализацию. На самом деле у нас есть 1-3 таких измерения состояния пользовательского интерфейса в любой момент времени.
На самом деле не имеет значения, каково мое личное мнение по этому вопросу, потому что я не ищу мнения. Моя проблема в том, что ни одна из сторон не может подкрепить наше «мнение» ссылками на авторитетную документацию, исследования или руководства по дизайну, которые разъясняют, когда и что использовать.
Примечание: я не ищу технических подробностей о том, как работают URL-адреса, файлы cookie или сеансы, где они хранятся и т. Д., А о рекомендациях, когда помещать эту информацию в URL, а когда нет.
Ответ №1:
У меня нет никакой документации или исследований для мнения, которое я собираюсь высказать, только мой личный опыт.
Я бы выбрал вариант № 1.
Подумайте о конечном пользователе, который пытается добавить страницу в закладки с выбранной учетной записью. С опцией # 1 он будет — в следующий раз, когда он откроет страницу, будет прямо там, где ему нужно быть. В то время как с опцией # 2 ему нужно будет выполнить некоторый ввод / выбор, чтобы снова увидеть учетную запись.
# 2 имеет смысл, если у конечного пользователя только одна учетная запись.
Хорошие ссылки не означают хорошего пользовательского интерфейса.
Что касается безопасности, рекомендуется всегда проверять пользователя при каждом запросе страницы. Таким образом, даже если конечный пользователь делится URL-адресом с кем-либо, между ними должен быть процесс аутентификации.