Поддерживает ли 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 может использоваться в некоторой степени, чтобы затмить реферер:
- Скрыть конкретную страницу, на которой была ссылка
- Удалить строку запроса из реферера
- Если сторонний сайт разместил обновление, скройте указанный сайт, который связал
- Удалите внешний реферер при входящем трафике (полезно в ситуациях как это)