Можете ли вы просмотреть мой заголовок, созданный PHP? - PullRequest
1 голос
/ 17 июля 2010

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

<?php 
// Expires one year from now
$expires = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
// Format date
$date =  date('D, d M Y H:i:s', $expires);
// Send HTTP header
header("Expires: $date GMT");
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) 
    ob_start("ob_gzhandler"); 
else 
    ob_start();
?>
<!DOCTYPE ....
...
</head>
<?php flush(); ?>
<body>
...

Итак, все ли выглядит хорошо?

У меня два конкретных вопроса.

  1. Является ли ob_start(); после else необходимо.
  2. Если flush() приносит какую-либо пользу (или, возможно, вред?)

    Одно из предложений - вы флеш() вашей страницы, еще одно предложение - GZIP вашей страницы.Имеет смысл, что вы не можете сбросить страницу GZIPPED , поскольку вся страница - это один большой пакет, верно?

    Что произойдет, если вы используете flush () на странице, которая GZIPPED?Может ли случиться что-нибудь «плохое»?Стоит ли использовать flush () на своей странице для браузеров, которые не принимают GZIPPED-контент?

Спасибо.

1 Ответ

2 голосов
/ 17 июля 2010
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) 
    ob_start("ob_gzhandler"); 
else 
    ob_start();

Вы можете просто написать:

ob_start("ob_gzhandler");

Он автоматически определит, поддерживает ли браузер gzip / deflate;)

И при включении буфера вывода ваша страница будет очищенав целом кусок, поэтому flush не будет иметь эффекта.Но это тоже не повредит.Он просто ничего не смоет;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...