Я новичок в администрировании серверов, поэтому даже не уверен, что размещаю это в нужном месте. Если это кажется плохим вопросом, ответьте правильно. Спасибо.
Некоторое время мне было интересно, как работают такие сайты, как сокращатели URL. Например, укороченный url популярного сервиса bit.ly выглядит так: http://bit.ly/2bgrkx
У меня вопрос: как настроены их серверы для обработки этих URL-адресов с уникальными короткими кодами в конце? А также, как можно реализовать эту обработку в среде IIS, конечно, с другой целью, а не с сокращением URL-адресов. Например, я также видел, что twtvite.com делал с этими URL.
Я подумал, что они могут создавать виртуальные каталоги с перенаправлением, но это кажется слишком необычным.
Большое спасибо, надеюсь, этот вопрос не лишний.
Большинство сокращателей URl работают так - все запросы, которые не запрашивают CSS / или другие статические файлы, направляются в сценарий, который нашел соответствующий реальный URL-адрес из короткого идентификатора URL-адреса.
Тогда есть 2 способа: а) Отправка HTTP-заголовка, который предписывает браузеру перенаправить. Самый популярный выбор - 302 Found. Согласно спецификациям HTTP, это временное перенаправление, но большинство браузеров реализуют его как перманентное перенаправление. Лучший выбор - 301 Перемещено постоянно. б) Отправка html-документа с тегом META, который сообщает браузеру о перенаправлении. В основном это плохая идея, потому что все перенаправления будут временными, а действительный HTML-документ потребляет больше ресурсов, чем простой HTTP-заголовок. И правильный способ - делать такие вещи на уровне протокола, а не на уровне содержимого.
Если вы хотите увидеть, как работают определенные службы сокращения URL-адресов, вы можете использовать Firebug (https://addons.mozilla.org/en-US/firefox/addon/1843), чтобы увидеть все запросы и ответы с заголовками HTTP.
В apache вы можете использовать mod_rewrite для перезаписи URL-адресов, в IIS - http://www.isapirewrite.com/ (Возможно, есть лучшее решение, но я больше не являюсь активным пользователем IIS).
Вы хотите посмотреть псевдонимы URL. Я не знаю, как это сделать в IIS, так как я пользователь apache.
Ты можешь видеть этот Статья в Википедии о сокращении URl и Эта статья о том, как это реализовать.
PS: лучше не использовать предсказуемый алгоритм сокращения.
Надеюсь это поможет.
В моей статье (которая Максвелл указывает на), я использую перенаправления IIS и 404 на создать сокращатель URL.
Почему вы сказали, что это непрактично?
РЕДАКТИРОВАТЬ: Просто посмотри этотчерез Lifehacker.
Два простых способа сделать это:
1) Используйте HTTP-заголовок для перенаправления: в PHP это можно сделать так:
header ("Location: http://example.com/");
Я не уверен, какой HTTP-код это генерирует, но у меня это сработало. Подробнее о Сайт PHP.net. Вот некоторые Информация об ASP.
2) Используйте метатег HTML, чтобы обновить его до нового места.
<meta http-equiv="refresh" content="0;url=http://example.com/" />
Посмотри это Википедия статью для получения дополнительной информации о метатеге.