|
|
Publicado em 07/09/2015 19:30:51
|
|
|
|

Cabeçalho HTTP expira e controle de cache
1. Conceito
O controle de cache é usado para controlar o cache HTTP (pode não ser parcialmente implementado em HTTP/1.0, apenas Pragma: no-cache é implementado)
Formate no pacote:
Cache-Control: cache-directive
Cache-diretiva pode ser a seguinte:
Pedido: | "sem cache" | "sem loja" | "max-age" "=" delta-segundos | "max-stale" [ "=" delta-segundos ] | "min-fresh" "=" delta-segundos | "Sem Transformação" | "apenas-se-cacheado" | "extensão de cache"
Resposta: | "público" | "privado" [ "=" <"> nome de campo <"> ] | "no-cache" [ "=" <"> nome do campo <"> ] | "sem loja" | "Sem Transformação" | "Deve-revalidar" | "Proxy-Revalidar" | "max-age" "=" delta-segundos | "s-maxage" "=" delta-segundos | "extensão de cache"
Parte da descrição: Dividido em cacheáveis ou não O público indica que a resposta pode ser armazenada em cache por qualquer área de cache. Privado indica que toda ou parte da mensagem de resposta de um único usuário não pode ser processada pelo cache compartilhado. Isso permite que o servidor descreva apenas quando o usuário está Mensagem de resposta parcial, que não é válida para solicitações de outros usuários. no-cache indica que a mensagem de requisição ou resposta não pode ser armazenada em cache (HTTP/1.0 é substituído pelo no-cache do Pragma) De acordo com o que pode ser armazenado em cache O no-store é usado para evitar que informações importantes sejam publicadas acidentalmente. Enviar uma mensagem de solicitação fará com que as mensagens de solicitação e resposta não sejam em cache. Tempo limite de acordo com o cache max-age indica que o cliente pode receber uma resposta com uma vida útil no máximo de um tempo especificado (em segundos). min-fresh indica que o cliente pode receber uma resposta com tempo de resposta menor que o tempo atual mais o tempo especificado. max-stale indica que o cliente pode receber mensagens de resposta além do período de timeout. Se você especificar um valor para a mensagem max-stalking, então o cliente pode Receba mensagens de resposta que excedam o valor especificado do período de tempo extra. Expirações representam o período de existência, permitindo que o cliente não verifique (faça uma solicitação) antes desse tempo, o que equivale à idade máxima Efeito. Mas se existirem ao mesmo tempo, são sobrescritos pela idade máxima do Controle de Cache. Formato: Expira = "Expira" ":" HTTP-data Por exemplo
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Aplicação Set expires e controle de cache via META via HTTP <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Expira" conteúdo="Seg, 20 Jul 2009 23:00:00 GMT" /> As configurações acima são apenas exemplos, e você pode realmente usar uma delas. Se você escrever dessa forma, ele só é válido para a página web, não para imagens ou outras solicitações na página, e não fará nenhum cache. Dessa forma, o cliente terá mais requisições e, embora seja apenas algo que verifica o status de Última Modificação, o número de requisições certamente afetará a velocidade de navegação. Se você quiser adicionar cache a um arquivo, pode usar o módulo mod_expire do Apache, que é escrito como <IfModule mod_expires.c> Expira Ativo em ExpiraPadrão "acesso mais 1 dia" </IfModule> Lembro que o ExpiresActive está no modo Ativado, eu não tinha ativado no começo, e parece que, por mais que o YSlow seja, não consigo encontrar o mecanismo de cache. Se você adicionar assim, ele vai usar tudo por padrão. Se quiser focar em tipos individuais de MIME, pode: ExpiresByType imagem/gif "acesso mais 5 horas e 3 minutos" Veja o Módulo Apache mod_expires Além disso, ao clicar em Atualizar no navegador, as solicitações enviadas pelo cliente são todas max-age=0, indicando que a solicitação foi validada e enviada ao servidor Se você pedir para checar o cache e depois atualizá-lo, geralmente receberá o 304 Não Modificado, o que significa que não há mudança.
|
Anterior:Encontre empregos de meio período e ganhe um dinheiro extra. Contrate trabalhadores de meio período com excelente tratamento, liquidação em dinheiro, mais de 300 por diaPróximo:Como uma consulta difusa no Linq para SQL
|