Подтвердить что ты не робот

Могут ли параметры укорачивания URL-адресов?

Я использую bit.ly, чтобы сократить мои URL-адреса. Моя проблема - параметры не передаются. Позвольте мне объяснить, что я использую http://bit.ly/MYiPhoneApps, который перенаправляет (скажем) на http://iphone.pp-p.net/default.aspx Теперь, когда я пытаюсь http://bit.ly/MYiPhoneApps?param=xx, этот параметр не добавляется к результирующему URL-адресу. Я знаю, что могу создать дополнительный "короткий url", включая параметр, поэтому http://bit.ly/WithParam приведет к http://www.mysite.com/somepath/apage.aspx?Par1=yy и т.д.

Но я хочу, чтобы на странице был короткий URL-адрес, а затем я хочу добавить параметр к этому сокращенному URL-адресу, который shoul (конечно) приземляется на моей странице.

Является ли это недостатком bit.ly(и другие, возможно, могут это сделать) - или "пересылка параметров" не работает с 301 перенаправлением?

Манфреда

4b9b3361

Ответ 1

Нет никаких технических причин, почему это невозможно. Сервис просто должен будет посмотреть, какие параметры он отправляет, а затем переписать целевой URL соответственно.

Проблема заключается в том, что она не обязательно четко определяет, как это сделать.

Предположим, у вас есть url http://example.com/default.aspx?foo=bar, и у него есть короткий url http://foo.com/ABCD. Что произойдет, если вы попытаетесь получить доступ к http://foo.com/ABCD?foo=baz? Если он заменит значение, вы получите foo=baz? Должен ли он добавить его, чтобы сделать foo=bar&foo=baz? Если мы включим оба, какой порядок должен быть в них?

Система не может знать, какие параметры безопасны для переопределения, а какие нет, потому что иногда вы хотите, чтобы оба они были в URL-адресе, и может иметь значение, в какой порядок добавлены элементы.

Вы можете утверждать: "Ну, просто не разрешайте это для URL-адресов, где параметры уже присутствуют", но также проблема, что это усложнит процесс намного больше. Без этого вы просто просматриваете ключ в базе данных и отправляете заголовок перенаправления. Теперь вам нужно также проанализировать URL-адрес для проверки параметров и добавить часть URL-адреса, к которому вы звонили. Это требует большего количества ресурсов системы для каждого перенаправления, что может стать большой проблемой, если ваша служба используется очень часто - вам потребуется больше полномочий сервера для обработки того же количества переадресаций. Я не думаю, что компромисс считается "достойным".

Ответ 2

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

Как правило

http://iphone.pp-p.net/default.aspx?param=10

должен создать другой ключ для

http://iphone.pp-p.net/default.aspx?param=22

"Пересылка параметров" просто невозможна в таких переадресациях, поскольку параметры не являются допустимыми частями сокращенного URL-адреса в большинстве (если не всех) сервисах.

Ответ 3

Как уже упоминалось в комментариях Rinogo

В Clickmeter

Destination URL : www.yoursite.com?myparam1={id1}&myparam2={id2} 
Tracking link   : www.go.clickmeter.com/38w2?id1=123&id2=abc 
After click     : www.yoursite.com?myparam1=123&myparam2=abc

В TinyUrl

Destination URL     : http://x.com?a=1
Shorten URL         : https://tiny url.com/y6gh7ovk
Shorten URL + param : https://tiny url.com/y6gh7ovk?a=2
Resultant URL       : http://x.com/?a=1&a=2

Добавлено место для публикации tinyurl