Зачем мне помещать ?src= в ссылку?

Я чувствую себя глупо из-за того, что не знаю этого, но я вижу много ссылок на веб-страницах, а вместо этого:

<a href="http://foo.com/">

... они используют это:

<a href="http://foo.com/?src=bar.com">

Теперь я понимаю, что ?src= говорит что-то о том, что этот реферал исходит от bar.com, но я не понимаю, почему это нужно явно указывать. Может ли кто-нибудь пролить свет на это для меня? Это что-то, что мне нужно включить в сгенерированные моей программой ссылки?

EDIT: хорошо, извините, я недостаточно ясно выразился. Я понимаю синтаксис GET со знаком вопроса и параметрами, разделенными амперсандом. Мне интересно, что это за специальный параметр src? Почему один сайт ссылается на другой и добавляет параметр src в конце, даже если нет никаких указаний на то, что целевой сайт использует это обычно.

Например, на этой странице наведите указатель мыши на снимок экрана. URL-адрес ссылки: http://moms4mom.com/?src=stackexchangesites.

Но moms4mom.com — это наш сайт. Передача параметра src ничего не дает, так зачем его включать?


person Scott Whitlock    schedule 17.10.2009    source источник
comment
Им могут платить за рефералов... это позволяет moms4som знать, откуда пришел реферал.   -  person mpen    schedule 17.10.2009


Ответы (6)


Есть несколько причин, по которым src используется явно. Но в целом проще и надежнее доверять строке запроса для определения referer[sic], чем доверять ссылающемуся, поскольку последний часто нарушается, преднамеренно или нет. С другой стороны, браузеры почти никогда не нарушают строку запроса в URL-адресе, поскольку это, в отличие от рефереров, очень важно для функционирования страниц. Кроме того, реферер часто делается без каких-либо преднамеренных действий со стороны сайта, делающего реферер, что не нравится некоторым пользователям.

person Brian    schedule 17.10.2009

Причина (я это делаю) в том, что популярные инструменты аналитики иногда упрощают фильтрацию строк запроса, чем рефереров.

person Sohail    schedule 17.10.2009

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

person devoured elysium    schedule 17.10.2009

Вторая - динамическая ссылка, это URL-адрес, который другой язык (например, ASP и PHP) интерпретирует как нечто, что нужно сделать, как в этих URL-адресах Google, но я никогда не использовал этот сайт (foo.com), поэтому я не так много вещей об этом параметре.

person Nathan Campos    schedule 17.10.2009
comment
Я понимаю синтаксис GET, но мне интересно, есть ли какой-то стандарт для параметра src. - person Scott Whitlock; 17.10.2009
comment
Скотт: Я немного добавил к своему ответу - но нет, в src как имени поля нет ничего особенного. - person Reed Copsey; 17.10.2009

В зависимости от того, как сайт обрабатывает свой URL-адрес, вам может потребоваться включать или не включать информацию ?....

Это передается на веб-сайт, и сервер может обрабатывать его так же, как ввод формы. Некоторые сайты требуют этого и строят свою навигацию на одной странице, не используя ничего, кроме «лишнего» материала, переданного впоследствии. Если вы создаете ссылку на такой сайт, она будет обязательной.

В других случаях это просто используется для передачи дополнительной, ненужной информации (такой как реклама, информация об отслеживании и т. д.)... В этих случаях вы можете не использовать ее.

К сожалению, невозможно узнать, не попробовав, можно ли удалить «лишние» биты из URL-адреса.


Прочитав некоторые ваши комментарии - тоже скажу:

В поле «src» в строке запроса нет ничего особенного. Сервер может использовать его по своему усмотрению. Если вы не знаете конкретной информации о сервере, вы не можете предположить, что ее можно не учитывать.

person Reed Copsey    schedule 17.10.2009

Часть после ? является строкой запроса. Разные сайты используют его для разных целей, и обычно он используется для передачи информации в код на стороне сервера для этого URL-адреса, но также может использоваться в javascript.

Для получения дополнительной информации см. строку запроса.

person Corey Sunwold    schedule 17.10.2009
comment
Его также можно использовать в javascript на стороне клиента. - person Brian; 17.10.2009
comment
@ Брайан: я забыл об этом. Спасибо. Отредактировано. - person Corey Sunwold; 17.10.2009