Как работает крошечный URL - PullRequest
5 голосов
/ 07 июля 2010

Мне было интересно, как работает крошечный URL.

Я хотел бы разработать нечто подобное для своего сайта, но, как и большинство людей, я использую идентификаторы GUID для идентификаторов. Когда объект создается, я должен тогда генерировать случайную строку из 10 символов для использования в качестве публичного идентификатора, или есть более разумный подход?

Пример старого URL-адреса: www.mysite.com/default.aspx?userId==ididid

Пример нового URL: www.mysite.com/pwzd4r9niy

Ответы [ 2 ]

5 голосов
/ 07 июля 2010

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

Остальное относительно просто: ведите таблицу базы данных с идентификаторами и целевыми URL;При поступлении запроса найдите идентификатор и выполните перенаправление header на целевой URL.

Дополнительные обсуждения в этом сообщении в блоге .

Существуют также службы перенаправления, которые используют слова из списка словарей для построения URL.

К сожалению, EvilURL ушел!Раньше он создавал «короткие» URL-адреса, такие как

http://evilURL.com/donkey_porn-shotguns/cracking-virus-exploit

, который был единственной службой перенаправления URL действительно .:)

И, как мелочи, http://to - это самая короткая служба перенаправления (и, я думаю, самый короткий веб-URL), известная человеку.

0 голосов
/ 07 июля 2010

Просто хешируйте всю строку до разумной длины.

...