Если я создал такую страницу:
<html><head><meta http-equiv="refresh" content="0;url=http://internic.net/"></head><body></body></html>
Будет ли браузер отправлять информацию о реферере и другие метаданные при выполнении перенаправления?
Если я создал такую страницу:
<html><head><meta http-equiv="refresh" content="0;url=http://internic.net/"></head><body></body></html>
Будет ли браузер отправлять информацию о реферере и другие метаданные при выполнении перенаправления?
При тестировании здесь Firefox и IE не, но Chrome выполняет отправку реферера (хотя это также несовместимо), независимо от того, идет ли он в тот же домен или нет.
Увидев, что я не могу найти какой-либо спецификации, указывающей, что должно быть стандартным поведением, а W3C вообще не рекомендует перенаправление META, я не уверен, что вы можете когда-либо зависеть от того, насколько это согласовано.
Я сделал несколько дополнительных тестов. У меня было три URI (все в одном домене):
/page.html
, у которого была ссылка на мета-обновление/refresh.html
, который использовал метаобновление в пункт назначения/destination.html
, который использовал JavaScript для записи реферера на страницу.Я проверил тест в нескольких браузерах, открыв page.html
и нажав ссылку, а затем наблюдая, что реферер находился в пункте назначения. Вот результаты:
http://example.com/refresh.html
http://example.com/refresh.html
http://example.com/refresh.html
Ни один из браузеров не показывал http://example.com/page.html
в качестве реферера, как это было бы с перенаправлением 301 или 302. Таким образом, meta refresh может использоваться в некоторой степени, чтобы затмить реферер: