¿Cómo puedo realmente vaciar el caché de Safari?

16

Ha habido innumerables veces que me encuentro con un problema después de editar HTML en una Mac. El problema deriva de que cargué el archivo actualizado a mi servidor a través de FTP, y navegaré al sitio web en Safari. Lo único que no actuó correctamente fue que Safari ya había almacenado en caché la página web (la versión anterior), por lo que mostraría la versión anterior. Pensé para mí y decidí borrar el caché en Safari con la esperanza de que resolviera mi problema. Borrar el caché simplemente deja que el sitio web parezca recargarse. Todavía apareció con la versión anterior del archivo. Para probar que el archivo en el servidor se actualizó realmente, me conecté a otra Mac en la misma red y mostró la nueva versión del archivo. No importa cuántas veces haya actualizado o borrado el caché o haya vuelto a abrir Safari, siempre entregaría el archivo anterior. La única otra solución que se me ocurrió fue reiniciar. Después de reiniciar, Safari volvió a cargar todo el sitio web y mostró la nueva versión del archivo.

Realmente me pregunto cómo vaciar el caché de Safari y hacer que se comporte correctamente. ¿Es esto algo que hace el sistema operativo (también he tenido problemas similares con los archivos en mi disco duro)? No quiero tener que reiniciar todo el tiempo solo para ver una nueva versión de un archivo, entonces, ¿hay alguna forma de asegurarme de que estoy viendo el más nuevo? ¿Hay una carpeta de almacenamiento temporal que pueda borrar manualmente? Esto me sucede con bastante frecuencia (no es terriblemente frecuente, pero es suficiente para que lo note), y mi única solución actual es reiniciar.

Tengo un sentimiento extraño (no es realmente un pensamiento, pero es una posibilidad muy leve que no tiene mucho sentido) que se origina en un nivel inferior.

Andrew Larsson
fuente
¿Usar cromo (u ópera)?
Nombre falso
Prefiero usar Firefox, pero estoy desarrollando, así que necesito probar mi sitio web en todos los navegadores, incluido Safari.
Andrew Larsson
Puede ser útil usar la curllínea de comandos para solicitar una dirección URL, para ver lo que ocurre. ¿La página anterior o la nueva? Dado que curlno tiene ningún concepto de "almacenamiento en caché", esto le dirá si alguien en el lado remoto (o el camino entre ellos) está haciendo el almacenamiento en caché que usted no desea. ¡Su servidor podría ser el verdadero culpable aquí! ¿Está almacenando en caché los archivos que sirve? Betcha lo es. . .
Mike Robinson

Respuestas:

13

En Safari, mantenga presionada la tecla ( Shift) mientras hace clic en el botón Actualizar. Esto realizará una actualización "dura", que omite el caché local.

(Para borrar rápidamente el caché en Safari, presione + + E, vaya a Privacidad y haga clic en "Eliminar todos los datos del sitio web" ).

Mathias Bynens
fuente
Definitivamente lo intentaré la próxima vez que me encuentre con este problema. Esa es una cosa que aún no he hecho. He intentado restablecer Safari, borrar el caché e incluso cerrar sesión y volver a iniciar sesión. ¡Gracias por la excelente respuesta!
Andrew Larsson
2
Safari es un poco confuso en este aspecto, ya que la mayoría de los otros navegadores usan + + Rpara realizar una actualización completa. En Safari, eso no hace nada, a menos que enfoque las Herramientas para desarrolladores web mientras realiza el combo de teclado.
Mathias Bynens
Voy a aceptar su respuesta por ahora hasta que alguien presente una mejor explicación con una solución probada para el almacenamiento en caché ignorante que estoy experimentando. ¡Gracias!
Andrew Larsson
1
@AndrewLarsson De todos modos, después de una actualización completa, siempre debes obtener la última versión, suponiendo que no haya un almacenamiento en caché extraño del lado del servidor. Lo que me recuerda, ¿qué encabezados de caché envía el servidor junto con el archivo? Podría ser un problema de configuración del servidor.
Mathias Bynens
Esa era otra cosa que estaba pensando. Si el servidor devuelve un 304 cuando, de hecho, debería devolver un nuevo contenido, sería algo que necesito cambiar en mi configuración. Investigaré esto la próxima vez que me encuentre con este problema.
Andrew Larsson
2

Cuando Safari no borra el caché:

  1. Asegúrese de haber cerrado sesión en todas las páginas web y de haber cerrado todas las pestañas de Safari.

  2. Abra el Finder y seleccione Ir → Ir a la carpeta ... en la barra de menú. (Alternativamente, puede usar el método abreviado de teclado, Command+ Shift+ g).

  3. Copie y pegue lo siguiente en el menú desplegable:

    ~/Library/Safari/Databases

  4. Elimine todos los contenidos que aparecen en esa carpeta resaltando todas las carpetas y haciendo clic derecho y seleccionando Mover a la Papelera.

  5. Abra Safari nuevamente y verifique que todos los elementos estén eliminados.

  6. Si no aparece nada cuando busca los criterios anteriores, busque

    ~/Library/Safari/Local Storage

    y siga los pasos 4 y 5 anteriores para eliminar todo el contenido.

Suzanna
fuente
Tenga en cuenta que aunque Safari dice, más arriba, que "Eliminará todos los datos del sitio web", la verdad es que realmente no lo hace . Pero si purga el contenido de las diversas carpetas mencionadas aquí, lo hará.
Mike Robinson
1

Tuve exactamente el mismo problema, excepto que noté que también estaba sucediendo con otros navegadores. Como resultado, no era Safari u OSX, era un caché creado por el proveedor de servicios.

Para resolver el problema, pongo código en mi página para evitar que se almacene en caché.

contenido = "sin caché"

"Algunas personas saben sobre el almacenamiento en caché del navegador, pero aún se sorprenden por el almacenamiento en caché del ISP. El almacenamiento en caché del ISP funciona de la misma manera que el almacenamiento en caché del navegador. Una vez que haya visitado un sitio web, su ISP puede almacenar esas páginas en caché para que parezcan cargarse más rápido. la próxima vez que los visite. El principal problema con esto es que, a diferencia de la memoria caché de su navegador, no puede eliminar estos archivos temporales, sino que debe esperar hasta que caduque la memoria caché de su ISP y solicite nuevas copias de los archivos. Esto puede ser muy frustrante si está intentando desarrollar o realizar cambios en su sitio web, o incluso buscar información nueva ".

James
fuente
¿Puede volver a poner el código completo (como lo hizo en la primera versión de la respuesta)? Si coloca cuatro espacios al comienzo de la línea, no debería haber ningún problema con el formato.
nohillside
Este es un buen punto, y lo intentaré la próxima vez. Sin embargo, no estoy seguro de qué tan bien se aplicaría a la situación que describí en la pregunta, porque los Mac que utilicé estaban en la misma red y tenían la misma IP global (por lo que el ISP no podría determinar el diferencia entre ellos).
Andrew Larsson