Как работает крошечный URL

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

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

Пример старого URL: www.mysite.com/default.aspx?userId={id}

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


person Dofs    schedule 07.07.2010    source источник
comment
Будьте осторожны, чтобы не допустить коллизий с реальными материалами на вашем сайте! Это было бы плохо.   -  person Borealid    schedule 07.07.2010
comment
Бореалид, что вы подразумеваете под столкновениями с "настоящими вещами"?   -  person Dofs    schedule 07.07.2010
comment
Вот блог сообщение о создании службы сокращения URL. Подробно рассказывает о том, как это работает.   -  person Andy Robinson    schedule 07.07.2010
comment
Dofs: он имеет в виду, что если вы сгенерируете новый URL-адрес, который совпадает с реальной страницей, у вас возникнут проблемы (представьте, что ваша случайная строка была, например, index.aspx...).   -  person Dan Puzey    schedule 07.07.2010


Ответы (2)


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

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

Подробнее читайте в этой записи блога.

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

К сожалению, EvilURL больше нет! Он использовался для создания «коротких» URL-адресов, таких как

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

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

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

person Pekka    schedule 07.07.2010
comment
@Piskvor аввв, отлично! Вам просто нужно полюбить это: http://5z8.info/malicious-cookie_d5d2_hateminorities :) - person Pekka; 07.07.2010
comment
Действительно, что может не нравиться тому, кто живет в ананасе? :D - person Piskvor left the building; 07.07.2010

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

person Palantir    schedule 07.07.2010