"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como os cabeçalhos de cache HTTP podem otimizar o desempenho do site PHP?

Como os cabeçalhos de cache HTTP podem otimizar o desempenho do site PHP?

Publicado em 2024-11-10
Navegar:289

How can HTTP Cache Headers Optimize PHP Website Performance?

Usando cabeçalhos de cache HTTP para otimizar o desempenho de sites PHP

Apesar da disponibilidade de estruturas e sistemas de cache avançados, às vezes é necessário implementar HTTP básico cabeçalhos de cache para melhorar o desempenho do site. Especialmente para sites PHP 5.1.0, que não possuem certos recursos de cache, os cabeçalhos desempenham um papel vital.

Cabeçalhos de cache eficazes para sites PHP

Para ativar o cache eficaz, considere os seguintes cabeçalhos:

  • Última modificação: Define a data da última modificação do documento, quais navegadores use para determinar se o conteúdo foi alterado desde a última visita.
  • ETag: Especifica um identificador exclusivo para o documento, permitindo que os navegadores verifiquem se já possuem a versão mais recente.
  • Expires: Define um tempo de expiração absoluto para o documento, instruindo os navegadores a não armazená-lo em cache além disso time.
  • Cache-Control: Controla como e por quanto tempo os navegadores devem armazenar o documento em cache. Ele pode ser definido como “público”, permitindo que qualquer pessoa armazene o documento em cache, ou “privado”, restringindo o cache a usuários individuais. Você pode considerar usar "private_no_expire" se precisar de comprimentos de cache mais longos sem permitir o cache público.

Implementando solicitações condicionais

Além de definir cabeçalhos de cache , é essencial lidar com solicitações condicionais, como "If-Modified-Since" e "If-None-Match". Essas solicitações permitem que os navegadores verifiquem se o documento foi alterado desde uma data específica ou se a ETag mudou desde a última visita.

Se o conteúdo não mudou, você pode retornar o status "304 Não Modificado" código, indicando que o navegador pode continuar usando a versão em cache. Essa abordagem eficiente minimiza downloads desnecessários e acelera o carregamento do site.

O exemplo de código PHP a seguir demonstra como lidar com solicitações condicionais:

$timestamp = /* PHP script to generate a unique timestamp */;
$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT';
$etag = $language . $timestamp;

$if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false;
$if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] : false;
if ((($if_none_match && $if_none_match == $etag) || (!$if_none_match)) &&
    ($if_modified_since && $if_modified_since == $tsstring))
{
    header('HTTP/1.1 304 Not Modified');
    exit();
}
else
{
    header("Last-Modified: $tsstring");
    header("ETag: \"{$etag}\"");
}

Ao implementar cabeçalhos de cache e lidar com solicitações condicionais de maneira eficaz, você pode melhorar significativamente o desempenho e a experiência do usuário do seu site PHP.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3