Я использую React, и я получаю реферер документа, используя
документ.referrer
Однако, когда меня перенаправляют на мой URL-адрес с google.com, я просто получаю домен в document.referrer вместо чего-то вроде этого: https://www.google.com/search?q=fb&rlz=1C1CHBF_enIN850IN850&oq=fb&aqs=chrome.0.69i59j46i199i291i433j0i131i433l2j0i395j69i60l3.1007j1j9&sourceid=chrome&ie=UTF-8
.
Могу ли я каким-то образом получить полный URL-адрес, включая путь и строку запроса? Заранее спасибо.
Веб-сайты могут устанавливать Referrer-Policy. Если это не так, то, начиная с версии 85, Chrome по умолчанию использует strict-origin-when-cross-origin
. (Другие браузеры будут иметь свои собственные настройки по умолчанию, но доля рынка Chrome делает их достойными внимания)
Это означает, что информация о реферере будет включать только источник, а не полный URL-адрес.
Эта функция предназначена для защиты конфиденциальности пользователя.
Обойти это невозможно, если вы не контролируете сайт, который контролирует ссылку (в вашем примере: www.google.com
).
В конечном счете браузер контролирует это. Большинство браузеров будут подчиняться заголовку Referrer-Policy
, который использовался предыдущим сайтом, чтобы сообщить браузеру, что нужно добавить в реферер для последующих запросов.
Значит, браузер управляет этим? Или веб-сайт ссылки (в данном случае google.com) контролирует его?