¿Safari no almacena en caché las páginas?

Cada vez que retrocedo o avance en el historial de navegación de Safari, vuelve a cargar las páginas, incluso cuando acabo de visitar la página hace dos segundos.

Al navegar usando los botones de avance/retroceso o deslizando hacia adelante y hacia atrás, la aplicación siempre vuelve a cargar la página desde Internet.

¿Puedo cambiar algo para que Safari almacene en caché las páginas que acabo de visitar de forma más agresiva?

De forma predeterminada, sí, Safari almacena en caché las páginas. Cuando dices que recarga las páginas, ¿a qué te refieres exactamente? ¿Estás seguro de que todos los datos se están recuperando de Internet nuevamente? Es posible que lo que ve como una recarga sea simplemente que el navegador vuelve a dibujar la página.
@tubedogg La barra de progreso azul en el cuadro de URL muestra el progreso a medida que descarga la página nuevamente. Si apago el wifi, solo para probar que se está descargando nuevamente, muestra una página en blanco en lugar del contenido, porque no pudo descargar el contenido nuevamente, y el título de la pestaña cambia a "problemas con la página".

Respuestas (3)

La respuesta es no, Safari no almacena en caché las páginas; sin embargo, almacena en caché los elementos que componen una página cuando las reglas que el servidor web asocia con cada elemento permiten el almacenamiento en caché.

Puede ver esto en sus páginas específicas activando el menú Desarrollar en las Preferencias de Safari:

ingrese la descripción de la imagen aquí

Como puede ver en esta imagen, la página donde se publica su pregunta permite que muchos elementos se almacenen en caché y el tiempo de carga de esos elementos está en el rango de 0.1-0.3ms. Los elementos que no se almacenan en caché tienen duraciones de carga más largas, por lo que quizás las páginas que está navegando tienen pocos elementos con caché habilitado o el tiempo de carga general de la página está dominado por el diseño y el contenido que no se almacenan en caché.

Si desea almacenar en caché el contenido para leerlo sin conexión, utilice la función Lista de lectura para almacenar la página para su uso sin conexión. Eso almacena en caché de manera más agresiva gran parte de la mayoría de las páginas para permitir la lectura de la página mientras está totalmente fuera de línea en una fecha posterior. En su caso, cuando Safari esté en línea, verificará que la versión de la lista de lectura de la página esté actualizada, por lo que es posible que no sea exactamente lo que está buscando.

No quiero leer sin conexión, es que me molesta que Safari vuelva a cargar una página que acabo de visitar.
Ciertamente, no use la lista de lectura si no es lo que desea; sin embargo, esperaba que una explicación de cómo funciona el almacenamiento en caché en Safari podría ayudarlo.

Opción 1: incompatibilidad con las extensiones de Safari

¿Tienes alguna extensión en Safari?

Yo personalmente estaba teniendo este problema también. Para solucionar esto, deshabilité todas mis extensiones y descubrí que AdBlock me estaba causando esto. Lo tengo deshabilitado ahora y ya no se recarga al volver.

Para otros que no tienen extensiones:

Opción 2: Agregar NoPageCache

Desde una página de discusión de Apple:

  1. Descargué NoPageCache desde aquí
  2. Cerré Safari y lo volví a abrir.
  3. Probé la aplicación y seguía recargando páginas.
  4. Desactivé y eliminé de Safari la aplicación (preferencias/extensiones)
  5. Sorprendentemente, ya no está recargando páginas.

Recursos

Página de discusión de Apple

Muchos foros como este revelan que se trata de un error en Mountain Lion. Muchas personas han presentado quejas, pero Apple aún no ha hecho nada.

La barra de progreso azul es una combinación de ponerse en contacto con el servidor, descargar datos y dibujar (representar) la página en la ventana. Si vuelve a hacer clic, dependiendo de la velocidad de su conexión, el retraso de la conexión, la velocidad del sistema y muchos otros factores (cuánto sucede en segundo plano, cuánta memoria RAM libre tiene, etc.), la página puede tardar un poco en recargarse. en la ventana, pero esto no significa necesariamente que esté volviendo a descargar todos los datos.

Deshabilitar WiFi (o cualquier conexión a Internet) e intentar ir a una URL SIEMPRE fallará, porque no puede realizar los pasos iniciales para determinar qué página cargar (no se puede conectar al servidor DNS). Ya sea que Safari finalmente descargue la página nuevamente o no, siempre se conectará primero al servidor del sitio web para determinar si la página cambió desde la última visita.

Puede probar si Safari está almacenando en caché siguiendo estos pasos:

  1. Vaya al menú Safari > Preferencias.
  2. Haga clic en la pestaña Avanzado.
  3. Marque la casilla "Mostrar el menú Desarrollar en la barra de menú".
  4. Cierra la ventana de Preferencias.
  5. Cargue esta página web: http://trakt.tv/user/tubedogg. Una vez que esté completamente cargado, haga clic Reload the current pageen en la barra de direcciones.
  6. Presione ++ para habilitar el .IWeb Inspector
  7. Presione control+ 1para mostrar la Resourcespestaña.
  8. Haga clic en el triángulo desplegable junto a Images.
  9. En la ventana de la derecha, revise la Request & Responsesección. (Es posible que tenga que desplazarse hacia abajo para verlo). Verifique si Cacheddice Sí o No.

Safari Web Inspector con solicitud y respuesta resaltada

Tenga en cuenta que es posible que no todas las imágenes se almacenen en caché, según las instrucciones del servidor. Por ejemplo, algunos anuncios le dirán a su navegador que no los almacene en caché. Pero si revisa muchas o todas las imágenes de la página, la mayoría de ellas deberían decir Sí para Cached. Esto determinará si Safari está almacenando en caché correctamente o no.