Как повысить производительность заголовка ('Location:'. $ Url, TRUE, $ http_response_code); - PullRequest
0 голосов
/ 16 августа 2010
header('Location: '. $url, TRUE, $http_response_code);

Иногда описанное выше занимает несколько секунд, возможно ли его ускорить?

Ответы [ 2 ]

1 голос
/ 16 августа 2010

Что значит "несколько секунд"? Требуется ли серверу несколько секунд, чтобы отправить заголовок клиенту? Или клиенту требуется несколько секунд для загрузки новой страницы?

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

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

1 голос
/ 16 августа 2010

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

 header('Location: '. $url, TRUE, $http_response_code);
 exit(0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...