Window.location.href не добавляет заголовок referer при выполнении внутри html-обертки, но при запуске в консоли заголовок referer добавляется. Почему?

У меня есть два поддомена, назовем их x.example.com и y.example.com. Когда пользователь запрашивает x.example.com, сервер перенаправляет его на y.example.com. На y.example.com есть функция, которая отображает определенный контент, если заголовок referer соответствует определенному значению. Однако когда запрос приходит на y.example.com после перенаправления, он не имеет никакого заголовка referer, прикрепленного к нему. Я использую Django на бэкенде для обработки перенаправления с помощью HttpResponseRedirect("y.example.com").

Я попытался включить заголовок referer в ответ сервера с помощью Django, но, похоже, это не дало никакого эффекта.

response  = HttpResponseRedirect("y.example.com")
response['referer'] = 'https://x.example.com'

Дополнительно я попробовал реализовать перенаправление в JavaScript, вернув HTML со встроенным кодом JavaScript, но это также не привело к передаче заголовка referer. Интересно, что при непосредственном выполнении перенаправления JavaScript в консоли браузера заголовок referer передавался. Я недоумеваю, почему это не работает так, как ожидалось. Можете ли вы предложить альтернативный подход для достижения желаемого поведения?

html_content = """
            <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Redirecting...</title>
</head>
<body>
    <h1>Redirecting...</h1>
    <script>
        // JavaScript code for redirection
        window.location.href = 'https://y.example.com';
        });
    </script>
</body>
</html>
            """
# Return the HTML response with embedded JavaScript
return HttpResponse(html_content)
Вернуться на верх