Какова правильная реализация персональных URL-адресов, например, в социальных сетях, например facebook.com/username?

Я сейчас в процессе разработки и размышления о структуре URL. Например, социальные сети позволяют указывать имена пользователей после косой черты, которые кажутся логичными.

В результате структура превращается в нечто вроде example.com/username/(blog, account, album, etc.), но здесь возникает проблема - после регистрации пользователя он \ она получает удостоверение личности. Много времени может пройти до того, как пользователь решит настроить URL-адрес, поэтому поисковая система уже может иметь в своих DB-ссылках, например example.com/id12345. Позже пользователь может настроить \ изменить URL еще раз, затем через месяц, а затем снова через шесть месяцев.

Здесь есть вопросы:

  1. Как социальные сети решают такую ​​проблему? Каков алгоритм? Записывает ли БД все изменения адреса, которые сделал этот пользователь, и в случае, если есть запрос «старого» URL-адреса, перенаправление происходит с новым?

  2. Как действовать в случаях, когда этот пользователь позволяет сделать 3 изменения, во всех случаях давая разные имена, такие как star, firefly, qwerty? Что, если после всех этих изменений другой пользователь хочет взять firefly, который первый пользователь имел когда-то?

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

3 голоса | спросил TitanFighter 28 AM00000030000001831 2016, 03:47:18

1 ответ


2

1) Facebook, например, использовал для ввода числового (то есть 1000000001) id, теперь я предполагаю, что он автоматически установит вам одну (буквенно-цифровую), связанную с вашим именем /etc, и не изменится. Старые (числовые), после первого изменения, становятся окончательными. Старый URL, вероятно, имеет 301 перенаправление на новый (и последний). Я не думаю, что разумно для любой записи в БД ваших старых ников (за исключением целей управления /журнала) для перенаправления на новые, это в основном дублирующие URL-адреса.

2) В этом случае имя пользователя должно быть бесплатным. Зависит от бизнес-логики. Но они также ограничивают его изменениями X за время Y.

3) Переадресация будет выполняться независимо от того, куда отправляет код.

ответил Mr Billy 4 +03002016-10-04T04:01:51+03:00312016bEurope/MoscowTue, 04 Oct 2016 04:01:51 +0300 2016, 04:01:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132