в
по каким правилам отправляется http_referer при открытии в iframe совсем другого сайта начиная с chrome 85

о
с 85 версии, Chrome меняет прежнее поведение при отправке рефера. Если ни основной сайт, ни сайт во фрейме не задают политику явно, браузер по умолчанию использует правило strict-origin-when-cross-origin. [1, 2]

Вот как теперь отправляется HTTP Referer (а также доступен document.referrer в JS) при загрузке внешнего сайта во фрейме:

1. Правило по умолчанию (strict-origin-when-cross-origin)

При открытии домена B внутри домена A браузер передает только адрес источника (домен, протокол и порт) и обрезает весь остальной путь и параметры. [1, 2]

Пример: Родительская страница — https://site-a.com.Что отправляется: https://site-a.com.Ограничение безопасности: Если родительский сайт работает по безопасному протоколу HTTPS, а сайт во фрейме — по небезопасному HTTP, заголовок Referer не отправится вообще (защита от утечки данных при переходе на менее защищенный протокол).

2. Если сайты принадлежат одному домену (Same-Origin)

Если фрейм загружает страницу с того же самого домена, что и родительская страница, Referer отправляется полностью (включая путь и GET-параметры), так как это считается безопасным контекстом. [1]

3. Изменение настроек

Поведение заголовка можно изменить вручную для конкретного случая:

Для всего сайта: Владелец родительского сайта или сайта внутри фрейма может установить HTTP-заголовок Referer-Policy (например, задать no-referrer, чтобы скрыть информацию полностью, или unsafe-url для передачи всей ссылки).
Непосредственно для iframe: В HTML-коде тега <iframe> разработчики могут использовать атрибут referrerpolicy, например:
<iframe src="https://site-b.com" referrerpolicy="unsafe-url">

Если вы столкнулись с проблемой (например, сайт во фрейме работает некорректно или блокируется), расскажите:

Какую цель вы преследуете (передача параметров или защита данных) ?
Домены обоих сайтов используют один и тот же протокол (оба на https) ?