Основное отличие кодов 301 и 307 для перенаправления запросов в том, что 301 указывает на постоянное перенаправление, а 307 — на временное. 3
301 (Moved Permanently) означает, что веб-страница навсегда перемещена с запрошенного URL на новый. 4 После получения ответа 301 браузер делает новый запрос и быстро перенаправляет пользователя на актуальную страницу. 4
307 (Temporary Redirect) указывает, что ресурс, на который был сделан запрос, временно доступен только по другому URL-адресу. 13 Вместо этого клиент должен повторно отправить запрос на URL, указанный в заголовке Location. 1 Однако в будущих запросах клиент по-прежнему должен использовать исходный URL. 1
Примеры использования 301: переезд сайта на новый домен или поддомен, удаление страницы с сайта, изменение URL-адреса страницы, изменение структуры сайта. 3
Примеры использования 307: перенаправление пользователя на страницу входа по истечению сессии, защита от повторной отправки формы путём перенаправления пользователя на другую страницу после нажатия кнопки «Отправить», проведение А/В тестирования, когда части пользователей временно показывается альтернативная версия страницы. 3