Hostwinds Блог

Результаты поиска для:


307 Временный перенаправление: что это такое и когда/как его использовать Популярное изображение

307 Временный перенаправление: что это такое и когда/как его использовать

от: Hostwinds Team  /  Март 29, 2024


Что такое код статуса 307?

Themary Redirect 307 - это код состояния ответа HTTP, указывающий, что запрошенный ресурс (например, веб -страница) временно перенесен на другой URL.Однако, в отличие от аналогичных кодов статуса временного перенаправления, например, 302 (найден) или 303 (см. Другое), клиенту (например, веб -браузер) предлагается продолжать использовать тот же метод запроса HTTP для нового URL -адреса, что и для исходного запросаПолем

Проще говоря, когда сервер отправляет код состояния 307 в ответ на запрос браузера, это означает, что запрашиваемый ресурс временно перешел на другой URL.Браузер должен следовать перенаправлению и использовать тот же метод запроса HTTP (например, Get или Post), который он использовал для исходного URL при доступе к новому.

Когда использовать код состояния 307

Существует ряд причин, по которым сервер хотел бы, чтобы клиент (браузер) продолжал использовать тот же метод запроса при перенаправлении на новый URL -адрес, большинство из которых вращаются вокруг безопасности и поддержания постоянного пользовательского опыта.

Вот некоторые сценарии, в которых код состояния 307 можно эффективно использовать:

Аутентификация и разрешение: Когда клиент отправляет запрос на ресурс, который требует аутентификации или авторизации, сервер может ответить кодом состояния 307 вместе с URL -адресом страницы входа в систему или авторизации.Это гарантирует, что клиент повторно пересмотрит исходный запрос (например, post) после успешной аутентификации без изменения метода.

Форма заявок: В веб -приложениях, где участвуют форма формы, такие как Электронная коммерция Процессы оформления заказа или онлайн -опросы, если необходимо временно перенаправить пользователя (например, из -за истечения сроков сеанса или ошибок проверки), код состояния 307 может использоваться для поддержания целостности метода подачи формы.

Временное обслуживание сайта или время простоя: Во время временного обслуживания или простоя веб -сайта серверам может потребоваться перенаправить входящие запросы на временную страницу.Используя код состояния 307, сервер гарантирует, что клиент следит за перенаправлением без изменения метода HTTP, что позволяет легко переходить к исходному ресурсу после завершения обслуживания.

Работа с изменениями местоположения ресурса: Если ресурс был временно перенесен в другое место на сервере или на другой сервер, но ожидается, что в будущем будет возвращено в исходное местоположение, можно использовать код состояния 307 для информирования клиентов о временном переезде при сохраненииисходный метод запроса.

Когда избегать использования 307 перенаправлений

В то время как 307 кодов статуса могут помочь поддерживать безопасность и пользу пользователями, это, безусловно, не код ответа, который будет использоваться на всем вашем сайте.Фактически, если не использовать в правильном сценарии, 307 перенаправления могут оказать негативное влияние на функцию сайта и пользовательский опыт.

Вот несколько примеров того, когда избегать перенаправления 307:

Постоянные изменения URL -адреса: Поисковые системы интерпретируют 307 перенаправления как временные, поэтому, если вы намереваетесь, чтобы перенаправление оказало долгосрочное влияние на SEO, например, передача справедливости в новом URL, перенаправление 307 может помешать этому.

301 перенаправление - единственный код состояния, который следует использовать, когда намерение должно навсегда перенести один URL в другой.

Перенаправления по всему сайту: Использование 307 кодов состояния для всего сайта или объемных перенаправлений может повлиять на производительность сервера, особенно для сайтов с высоким трафиком.Обработка большого количества временных перенаправлений может привести к утилизации ресурсов сервера и замедлить время отклика сайта, в конечном итоге повредив SEO и пользовательский опыт.

Веб -сайты, которые могут выиграть от использования 307 перенаправления

В то время как большинство веб -сайтов могут использовать код состояния 307 по той или иной причине, есть мало, которые выделяются:

Платформы электронной коммерции: Веб -сайты, которые включают корзины для покупок, процессы оформления заказа и учетные записи пользователей, могут выиграть от 307 перенаправлений во время аутентификации, обработки платежей или временного обслуживания.

Веб -приложения: Сайты, предлагающие онлайн -сервисы, инструменты производительности или платформы для совместной работы, могут использовать 307 перенаправления для поддержания сеансов пользователей, сохранения форм или выполнения временного перемещения ресурсов.

Услуги членства или подписки: Веб-сайты, требующие аутентификации или авторизации пользователей, таких как сайты членства, платформы для подписки или системы управления контентом, могут использовать 307 перенаправлений для управления сеансами пользователей и обеспечить беспрепятственный доступ к защищенным ресурсам.

Онлайн -формы и опросы: Веб-сайты размещают формы или опросы, которые требуют ввода и представления пользователя, могут использовать 307 перенаправления для обработки ошибок проверки, требований к аутентификации или временных перерывов при сохранении данных, представленных пользователю.

Платформы социальных сетей: Платформы с пользовательским контентом, функциями обмена сообщениями или интерактивными элементами могут извлечь выгоду из 307 перенаправлений для поддержания контекста сеанса, обработки временных изменений ресурсов или управления процессами аутентификации без нарушения пользовательского опыта.

307 Временный перенаправление против 307 Внутренний перенаправление

Термин «307 Внутренний перенаправление» появляется как другой тип 307 перенаправления, специально связанный с процессом направления браузеров из HTTP -версии сайта на свою версию HTTPS.

В то время как браузеры, такие как Chrome, могут сообщать о перенаправлении HTTP на HTTPS как «307 внутренний перенаправление», предложенное действие просто не существует.

Термин «внутренний перенаправление» обычно относится к процессу на стороне сервера, где веб сервер Внутренне перенаправляет запрос на другой ресурс или местоположение на том же сервере, без клиента (браузер) не знает о перенаправлении.Однако эта концепция не связана конкретно с кодом состояния 307;Это может применяться к различным кодам статуса HTTP, включая 307.

Проще говоря, «307 Временный перенаправление» и «307 Внутренний перенаправление» относятся к одному и тому же, но они не связаны с перенаправлением HTTP на HTTPS.

Перенаправления от HTTP на HTTP обычно реализуются с использованием кодов состояния, таких как 301 (перемещен навсегда) или 302 (найдено), где это необходимо.

301 Redirect - это стандартный код состояния, используемый для постоянного перенаправления HTTP -трафика в HTTPS.

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

302, 303 и 307 представляют собой три типа временных перенаправлений в диапазоне кода состояния 3xx, каждый из которых выполняет отдельную функцию при обработке и публикует HTTP -запросы от клиента (браузер).

В этом разделе сосредоточено на том, как типичный клиент будет реагировать на каждый тип временного перенаправления, особенно после первоначального выполнения запроса POST.

get-post-request-temporary-redirect-process.webp
Что такое запрос получить?

Запрос GET используется браузерами для запроса/извлечения веб -страницы с веб -сервера.Независимо от того, хочет ли пользователь посетить веб -страницу, через щелчок ссылки или ввод URL -адреса в адресной строке, браузер отправляет запрос GET на веб -сервер, прося его предоставить указанную веб -страницу.

Что такое почтовый запрос?

Запрос сообщения возникает, когда пользователь взаимодействует с веб -страницей, отправляя данные, такие как представление формы или загрузка файлов, на веб -сервер.Эти данные затем обрабатываются или сохраняются сервером, что позволяет веб -странице выполнять конкретное действие на основе ввода пользователя.

302 перенаправление

Когда клиент (браузер) встречается с ответом 302 с веб -сервера, он следует за запросом GET для доступа к новому URL -адресу, предоставленному сервером.Это произойдет независимо от того, был ли оригинальный запрос клиента получить или публиковать.

Это может вызвать проблемы, если клиент изначально отправил запрос на почту.

Например, если пользователь представляет информацию, такую как форма покупки, используя запрос POST, и сервер отвечает 302 перенаправлением, браузер автоматически отправит запрос GET.В результате информация из исходного запроса POST может не достичь сервера для обработки.

303 перенаправление

303 перенаправление функционирует аналогично 302 перенаправлению, побудив клиента выполнить метод GET независимо от исходного метода запроса.

Однако, если оригинальный запрос является запросом POST, ответ на 303 перенаправление требует, чтобы клиент предложил пользователю подтвердить запрос на получение последующего наблюдения перед отправкой на сервер.

Также как 302 перенаправления, использование 303 перенаправления для веб -страниц представления данных (например, заполнения форм и загрузки файлов) могут привести к фрагментированным или потерянным данным.

307 перенаправление

В отличие от 302 и 303 перенаправления, 307 перенаправления сохраняют исходный метод запроса (get или post) после перенаправления.Проще говоря, запрос сообщения остается в качестве запроса на почту, а запрос на получение запроса в качестве запроса GET после перенаправления.

Это делает 307 перенаправление наилучшим выбором для представления данных на веб -серверы, поскольку он обеспечивает как безопасную передачу, так и точную доставку информации от клиента к серверу.

4 способа реализации 307 перенаправления

Существует несколько методов реализации 307 перенаправления на ваш сайт.Тот, который лучше всего подходит для вас, будет зависеть от вашего уровня комфорта с кодированием и независимо от того, используете ли вы CMS (WordPress, Drupal, Joomla и т. Д.).

Независимо от выбранного вами метода, обязательно создайте резервную копию вашего сайта или, по крайней мере, файл, над которым вы работаете.Мы не можем подчеркнуть Важность резервного копирования данных, особенно при работе в файле .htaccess.

Использование .htaccess file

1. Доступ к файлу .htaccess в корневом каталоге вашего сайта.

2. Добавьте следующую строку в файл .htaccess:

Redirect 307 /old-page.html http://example.com/new-page.html

3. Замените/old-page.html на старый URL и http://example.com/new-page.html с новым URL.

4. Сохраните изменения в файле .htaccess и проверьте перенаправление.

Использование сценариев на стороне сервера (PHP)

1. Создайте новый файл PHP (например, redirect.php) на вашем сервере.

2. Добавьте следующий код PHP в файл:

<?php

header("HTTP/1.1 307 Temporary Redirect");

header("Location: http://example.com/new-page.html");

exit();

?>

3. Замените http://example.com/new-page.html на URL, на который вы хотите перенаправить.

4. Сохраните файл и загрузите его на свой сервер.

5. Получите доступ к файлу в вашем браузере, чтобы убедиться, что перенаправление работает.

Использование конфигурации сервера (виртуальный хост Apache)

1. Доступ к файлу конфигурации вашего сервера (например, httpd.conf или apache2.conf).

2. Добавьте следующие строки в соответствующем <VirtualHost> или <Directory> блоке:

Redirect 307 /old-page.html http://example.com/new-page.html

3. Сохраните изменения в файле конфигурации и перезапустите сервер Apache, чтобы применить изменения.

4. Проверьте перенаправление, получив старый URL -адрес в вашем браузере.

Использование плагинов

Для сайтов, которые используют CMS (систему управления контентом), такие как WordPress или Weebly, реализация 307 перенаправлений так же просто, как и в плагина.

Найдите плагин, который вам нравится, загрузите его и просто следуйте инструкциям о том, как реализовать 307 Redirect.

Написано Hostwinds Team  /  Март 29, 2024