Поддерживает ли http-equiv = "обновление" информацию о реферере и метаданные?

Если я создал такую ​​страницу:

<html><head><meta http-equiv="refresh" content="0;url=http://internic.net/"></head><body></body></html>

Будет ли браузер отправлять информацию о реферере и другие метаданные при выполнении перенаправления?

Ответы

Ответ 1

При тестировании здесь Firefox и IE не, но Chrome выполняет отправку реферера (хотя это также несовместимо), независимо от того, идет ли он в тот же домен или нет.

Увидев, что я не могу найти какой-либо спецификации, указывающей, что должно быть стандартным поведением, а W3C вообще не рекомендует перенаправление META, я не уверен, что вы можете когда-либо зависеть от того, насколько это согласовано.

Ответ 2

Я сделал несколько дополнительных тестов. У меня было три URI (все в одном домене):

  • /page.html, у которого была ссылка на мета-обновление
  • /refresh.html, который использовал метаобновление в пункт назначения
  • /destination.html, который использовал JavaScript для записи реферера на страницу.

Я проверил тест в нескольких браузерах, открыв page.html и нажав ссылку, а затем наблюдая, что реферер находился в пункте назначения. Вот результаты:

  • Internet Explorer - нет реферера
  • Firefox - нет ссылок
  • Chrome - Referrer: http://example.com/refresh.html
  • Safari - Referrer: http://example.com/refresh.html
  • Opera - Referrer: http://example.com/refresh.html

Ни один из браузеров не показывал http://example.com/page.html в качестве реферера, как это было бы с перенаправлением 301 или 302. Таким образом, meta refresh может использоваться в некоторой степени, чтобы затмить реферер:

  • Скрыть конкретную страницу, на которой была ссылка
  • Удалить строку запроса из реферера
  • Если сторонний сайт разместил обновление, скройте указанный сайт, который связал
  • Удалите внешний реферер при входящем трафике (полезно в ситуациях как это)