У нас есть база данных ресурсов, будь то продукты, сообщения в блогах или что-то в этом роде. Нам нужно разработать схему URL для их решения для общедоступного веб-сайта.
Вот два примера, которые привязаны к идентификатору базы данных:
Вот пример, который дружелюбен:
(Небольшое представление о моей жизни там просмотра)
Мне нравятся дружественные URL-адреса, поскольку у вас есть представление о том, что находится в конце URL-адреса, когда вы наводите указатель мыши или видите его в электронном письме или документе. Это лучше для SEO, или раньше.
Что происходит, когда документ или продукт переименовывается? Или потому что это изменилось (Wiki может не измениться, но наши ресурсы могли бы) или из-за опечатки, верно? Наши ресурсы очень технические, длинные слова и ошибки.
Также у нас есть идентификатор базы данных, который является числом. Давайте посмотрим на идею для адреса видео с использованием притворного проката магазина:
Идентификатор очевиден и используется при поиске БД. Хорошо.
Бит раздвижных дверей не является уникальным и только генерируется из заголовка видео, его можно проверить по GET, поэтому, если скользящие двери были введены и не соответствуют тому, что на самом деле в документе 287171, они отвечают 404.
Или, может быть, это можно игнорировать, позволяя людям сунуть туда все, что им нравится, если кому-то когда-нибудь захочется. Так что этот URL также будет работать:
Проблема с проверкой дружественной части, как уже упоминалось, является проблемой переименования или исправления опечаток. Если имя изменилось, и в нашем домене это происходит, мы не хотим ломать существующие URL-адреса, поэтому мы должны:
Только не проверяйте дружескую часть.
Проверьте, но добавьте «историю» дружественных частей в запись базы данных, чтобы все предыдущие идентификаторы по-прежнему работали!
Ваши мысли и идеи приветствуются.
Люк
http://programmers.stackexchange.com/questions/255684/providing-friendly-urls-for-a-website-vs-realities-of-database-ids
(с использованием непроверенной версии в свете изменений заголовка, также более короткая ссылка «поделиться» - это просто id:http://programmers.stackexchange.com/q/255684/25768
(и идентификатор пользователя для отслеживания значка)