Разница между перенаправлениями 301 и 302

Разбирает постоянный и временный перенос, а также 308 и 307, которые сохраняют метод.

301 Moved Permanently означает, что ресурс навсегда перемещён на новый URL. Поисковые системы воспринимают этот сигнал и переносят позиции и ссылочный вес со старого URL на новый. Используйте его для переносов, которые вы не будете отменять, — например, при миграции домена или переходе с HTTP на HTTPS.

302 Found — это временный перенос. Исходный URL остаётся действительным, поэтому поисковые системы не переносят позиции. Он подходит для ситуаций, которые вскоре вернутся к прежнему состоянию, — например, для временного обхода на страницу обслуживания или перенаправления после входа.

Отдельного внимания заслуживает сохранение метода. Исторически браузеры при 301 и 302 иногда меняли POST на GET. Если метод обязательно нужно сохранить, используйте 308 для постоянного переноса и 307 для временного, а при отправке пользователя на страницу результата после POST — 303 See Other.