O Safari não armazena em cache as páginas?

7

Sempre que eu retrocesso ou avanço no histórico de navegação do Safari, ele recarrega as páginas mesmo quando eu apenas visitei a página dois segundos atrás.

Ao navegar usando os botões voltar / avançar ou deslizar para frente e para trás, o aplicativo sempre recarrega a página da Internet.

Posso alterar alguma coisa para fazer o Safari armazenar em cache as páginas que acabei de visitar de forma mais agressiva?

Tulains Córdova
fonte
1
Por padrão, sim, o Safari armazena em cache as páginas. Quando você diz que recarrega as páginas, o que você quer dizer exatamente? Você tem certeza de que todos os dados estão sendo recuperados da Internet novamente? É possível que você veja como recarregar pode ser simplesmente o navegador redesenhando a página.
precisa saber é o seguinte
1
@tubedogg A barra de progresso azul na caixa URL mostra o progresso ao baixar a página novamente. Se eu desligar o wifi, apenas para testar se está fazendo o download novamente, ele mostra uma página em branco em vez do conteúdo, porque não pôde fazer o download novamente e o título da guia muda para "problemas com a página".
Tulains Córdova

Respostas:

6

A resposta é não, o Safari não armazena em cache as páginas - no entanto, armazena em cache elementos que compõem uma página quando as regras que o servidor da Web associa a cada elemento permitem o armazenamento em cache.

Você pode ver isso em suas páginas específicas ativando o menu Revelação em Preferências do Safari:

insira a descrição da imagem aqui

Como você pode ver nesta figura, a página em que sua pergunta foi publicada permite que muitos itens sejam armazenados em cache e o tempo de carregamento desses elementos está no intervalo 0,1-0,3ms. Os itens que não são armazenados em cache têm durações de carregamento mais longas, portanto, talvez as páginas pelas quais você está navegando tenham poucos itens com cache ativado ou o tempo de carregamento geral da página seja dominado pelo layout e pelo conteúdo não armazenados em cache.

Se você deseja armazenar em cache o conteúdo para leitura offline, use o recurso Lista de Leitura para armazenar a página para uso offline. Isso faz o cache mais agressivo da maioria das páginas, permitindo a leitura da página enquanto estiver totalmente offline posteriormente. No seu caso, quando o Safari estiver online, ele verificará se a versão da lista de leitura da página é atual; portanto, pode não ser exatamente o que você está procurando.

bmike
fonte
1
Não quero ler off-line, mas me incomoda que o Safari recarregue uma página que acabei de visitar.
Tulains Córdova
1
Certamente não use a lista de leitura se não for o que você deseja - eu esperava que uma explicação de como o cache funciona no Safari possa ajudá-lo.
bmike
5

Opção 1: Incompatibilidade com extensões do Safari

Você tem extensões no Safari?

Pessoalmente, eu também estava tendo esse problema. Para corrigir isso, desativei todas as minhas extensões e percebi que o AdBlock estava causando isso para mim. Estou desativado agora e ele não recarrega ao voltar mais.

Para outras pessoas que não têm extensões:

Opção 2: Adicionando NoPageCache

Em uma página de discussão da Apple:

  1. Eu baixei o NoPageCache daqui
  2. Fechei o Safari e o reabri.
  3. Eu tentei o aplicativo e ele ainda estava recarregando as páginas.
  4. Desativei e removi do safari o aplicativo (preferências / extensões)
  5. Surpreendentemente, ele não está recarregando mais páginas

Recursos

Página de discussão da Apple

Muitos fóruns como este revelam que isso é um bug no Mountain Lion. Muitas pessoas entraram com queixas, mas a Apple ainda não fez nada.

sameetandpotatoes
fonte
4

A barra de progresso azul é uma combinação de contato com o servidor, download de dados e desenho (renderização) da página na janela. Se você clicar de volta, dependendo da velocidade da conexão, atraso da conexão, velocidade do sistema e vários outros fatores (quanto está acontecendo em segundo plano, quanta RAM livre você tem, etc.), pode demorar um pouco para a página recarregar na janela, mas isso não significa necessariamente que está baixando novamente todos os dados.

Desabilitar o WiFi (ou qualquer conexão com a Internet) e tentar acessar um URL SEMPRE falhará, porque não pode executar as etapas iniciais para determinar qual página carregar (não é possível conectar ao servidor DNS). Quer o Safari baixe ou não a página novamente, ele sempre se conectará primeiro ao servidor do site para determinar se a página mudou desde a última visita.

Você pode testar se o Safari está em cache seguindo estas etapas:

  1. Vá para o menu Safari> Preferências.
  2. Clique na guia Avançado.
  3. Marque a caixa "Mostrar menu Desenvolver na barra de menus".
  4. Feche a janela Preferências.
  5. Carregar este wepage: http://trakt.tv/user/tubedogg. Depois de totalmente carregado, clique Reload the current pagena barra de endereços.
  6. Pressione + + Ipara ativar o Web Inspector.
  7. Pressione control+ 1para mostrar a Resourcesguia.
  8. Clique no triângulo de divulgação ao lado de Images.
  9. Na janela da direita, revise a Request & Responseseção. (Talvez seja necessário rolar para baixo para vê-lo.) Verifique se Cacheddiz Sim ou Não.

Safari Web Inspector com solicitação e resposta realçadas

Observe que nem todas as imagens podem ser armazenadas em cache, dependendo das instruções do servidor. Por exemplo, alguns anúncios dizem ao seu navegador para não armazená-los em cache. Mas se você revisar muitas ou todas as imagens da página, a maioria delas deve dizer Sim para Cached. Isso determinará se o Safari está ou não em cache corretamente.

tubedogg
fonte