Best Practices for Speeding Up Your Web Site / Рекомендации лучших вебоводов для ускорения вашего сайта: Avoid Redirects / Избегайте переадресаций

Оглавление
Английский оригинал Перевод на русский

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

Переадресации осуществляются с помощью 301-го или 302-го кодов состояния. Вот пример HTTP заголовка для 301-го ответа:

Alexasa 11.09.12 в 12:46

0

HTTP/1.1 301 Moved Permanently
Location: http://example.com/newuri
Content-Type: text/html

Alexasa 11.09.12 в 12:46

0

Браузер автоматически перенаправляет пользователя по адресу, указанному в поле Location. Вся необходимая для переадресации информация находится в заголовках. Тело ответа обычно пустое. Несмотря на свои имена, ни 301-й, ни 302-й ответы не кешируются, если только необходимость кеширования не указана явно либо в поле Expires либо в Cache-Control. Метатег refresh или JavaScript являются альтернативными способами переадресации пользователей на другой URL, однако, если вам крайне необходимо использовать переадресацию, то лучше использовать стандартные 3хх HTTP коды состояния, в первую очередь для обеспечения правильной работы кнопки возврата.

Alexasa 11.09.12 в 13:44

0

Главное помнить, что переадресации замедляют работу пользователя. Включение переадресации между пользователем и HTML документом задерживает всю страницу, так как на странице ничего не может быть отрисовано и никакие компоненты не могут быть загружены пока не будет получен сам HTML документ.

Alexasa 12.09.12 в 10:03

0

Одна из самых бесполезных переадресаций появляется часто даже без ведома веб-разработчиков. Это происходит когда в урле отсутствует завершающий слеш (/). К примеру, заход на http://astrology.yahoo.com/astrology выдает 301-ю ошибку, содержащую переадресацию на http://astrology.yahoo.com/astrology/ (отметьте завершающий слеш). В Апаче это реализуют либо Alias либо mod_rewrite, либо директива DirectorySlash, если вы используете обработчики Апача.

Alexasa 12.09.12 в 10:50

0

Связка старого сайта с новым сайтом еще одно применение для редиректов. Также они используются для переключения между различными частями сайта и перенаправления пользователей на основании определенных условий (тип браузера, тип пользовательского аккаунта, и пр.). Использование переадресации для соединения двух веб-сайтов довольно просто и не требует большого дополнительного кодирования. Хотя использование редиректов в таких ситуациях уменьшает сложность для разработчиков, это ухудшает взаимодействие с пользователями. Альтернативой такого использования перенаправлений является использование Alias и mod_rewrite, если оба пути находятся на одном сервере. В случае различных доменов альтернативой является создание CNAME (DNS-запись, создающая алиас, перенаправляющий с одного домена на другой) в комбинации с Alias или mod_rewrite

Alexasa 12.09.12 в 14:54

0
Минутку...