Хорошо известно, что фрагмент URL-адреса (часть после #
) не отправляется на сервер.
Я действительно задаюсь вопросом, как работают фрагменты при перенаправлении сервера (через HTTP-статус 302 и заголовок Location:
).
Мой вопрос действительно двукратный:
-
Если исходный URL-адрес имеет фрагмент (
/original.php#foo
), а перенаправление делается на/new.php
, часть фрагмента исходного URL-адреса просто теряется? Или иногда он применяется к новому URL-адресу?
В этом случае новый URL будет/new.php#foo
? -
Независимо от исходного URL-адреса, если сервер перенаправляет на новый URL-адрес с фрагментом (
/new.php#foo
), будет ли фрагмент получать "честь"? Или сервер действительно не вмешивается в этот фрагмент, и браузер игнорирует его, просто перейдя в/new.php