7 votes

Safari ne met-il pas les pages en cache ?

Chaque fois que je reviens en arrière ou que j'avance dans l'historique de navigation de Safari, les pages sont rechargées même si je viens de les visiter il y a deux secondes.

Lorsque l'on navigue à l'aide des boutons précédent/suivant ou que l'on glisse d'avant en arrière, l'application recharge toujours la page à partir de l'internet.

Puis-je modifier quoi que ce soit pour que Safari mette en cache les pages que je viens de visiter de manière plus agressive ?

6voto

Oskar Points 1242

La réponse est non, Safari ne met pas les pages en cache - il met cependant en cache les éléments qui composent une page lorsque les règles que le serveur web associe à chaque élément permettent la mise en cache.

Vous pouvez voir cela sur vos pages spécifiques en activant le menu Développer dans les préférences de Safari :

enter image description here

Comme vous pouvez le voir sur cette image, la page sur laquelle votre question a été posée permet à de nombreux éléments d'être mis en cache et le temps de chargement de ces éléments est de l'ordre de 0,1 à 0,3 ms. Les éléments qui ne sont pas mis en cache ont des durées de chargement plus longues. Il est donc possible que les pages sur lesquelles vous naviguez contiennent peu d'éléments dont le cache est activé ou que le temps de chargement global de la page soit dominé par la mise en page et le contenu non mis en cache.

Si vous souhaitez mettre du contenu en cache pour une lecture hors ligne, utilisez la fonction Liste de lecture pour stocker la page en vue d'une utilisation hors ligne. Cela permet de mettre en cache de manière plus agressive la plupart des pages afin de pouvoir les lire ultérieurement tout en étant totalement hors ligne. Dans votre cas, lorsque Safari est en ligne, il vérifie que la version de la page dans la liste de lecture est à jour, ce qui peut ne pas correspondre exactement à ce que vous recherchez.

5voto

sameetandpotatoes Points 3881

Option 1 : Incompatibilité avec les extensions Safari

Avez-vous des extensions dans Safari ?

Personnellement, je rencontrais également ce problème. Pour y remédier, j'ai désactivé toutes mes extensions et il s'est avéré qu'AdBlock en était la cause. Je l'ai désactivé maintenant et le site ne se recharge plus lorsque je reviens en arrière.

Pour les autres qui n'ont pas d'extension :

Option 2 : ajouter NoPageCache

Extrait d'une page de discussion d'Apple :

  1. J'ai téléchargé NoPageCache à partir de aquí
  2. J'ai fermé Safari et je l'ai rouvert.
  3. J'ai essayé l'application et les pages étaient toujours rechargées.
  4. J'ai désactivé et supprimé l'application de Safari (préférences/extensions).
  5. Il est surprenant de constater que les pages ne sont plus rechargées.

Ressources

Page de discussion Apple

De nombreux forums tels que celui-ci révèle qu'il s'agit d'un bogue dans Mountain Lion. De nombreuses personnes ont déposé des plaintes, mais Apple n'a encore rien fait.

4voto

tubedogg Points 14839

La barre de progression bleue est une combinaison du contact avec le serveur, du téléchargement des données et de l'affichage (rendu) de la page dans la fenêtre. Si vous cliquez sur le bouton "retour", la page peut mettre un certain temps à se recharger dans la fenêtre, en fonction de la vitesse de votre connexion, de son décalage, de la vitesse de votre système et d'un certain nombre d'autres facteurs (ce qui se passe en arrière-plan, la quantité de mémoire vive dont vous disposez, etc. pas Cela signifie nécessairement qu'il télécharge à nouveau toutes les données.

Désactiver le WiFi (ou toute autre connexion internet) et essayer d'aller à une URL échouera TOUJOURS, parce qu'il ne peut pas effectuer les étapes initiales pour déterminer quelle page charger (il ne peut pas se connecter au serveur DNS). Que Safari finisse ou non par télécharger à nouveau la page, il se connectera toujours d'abord au serveur du site web pour déterminer si la page a changé depuis la dernière visite.

Vous pouvez tester la mise en cache de Safari en suivant les étapes suivantes :

  1. Allez dans le menu Safari > Préférences.
  2. Cliquez sur l'onglet Avancé.
  3. Cochez la case "Afficher le menu Développer dans la barre de menu".
  4. Fermez la fenêtre des préférences.
  5. Charger cette page : http://trakt.tv/user/tubedogg . Une fois qu'il est entièrement chargé, cliquez sur Reload the current page dans la barre d'adresse.
  6. Presse + + I pour activer le Web Inspector .
  7. Presse control + 1 pour montrer la Resources tabulation.
  8. Cliquez sur le triangle de divulgation situé à côté de Images .
  9. Dans la fenêtre de droite, passez en revue les Request & Response section. (Il se peut que vous deviez faire défiler la page vers le bas pour la voir). Cached dit oui ou non.

Safari Web Inspector with Request & Response highlighted

Notez que toutes les images peuvent ne pas être mises en cache, en fonction des instructions du serveur. Par exemple, certaines publicités indiquent à votre navigateur de ne pas les mettre en cache. Toutefois, si vous examinez un grand nombre ou la totalité des images de la page, la plupart d'entre elles devraient indiquer Oui pour Cached . Cela permet de déterminer si Safari est correctement mis en cache.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X