Come posso veramente svuotare la cache di Safari?


16

Ci sono state innumerevoli volte in cui ho riscontrato un problema dopo aver modificato HTML su un Mac. Il problema deriva da me nel caricare il file aggiornato sul mio server tramite FTP e navigherò sul sito Web in Safari. L'unica cosa che non ha funzionato correttamente è che Safari aveva già memorizzato nella cache la pagina Web (la vecchia versione), in modo da visualizzare la versione precedente. Ho pensato tra me e ho deciso di svuotare la cache in Safari sperando che potesse risolvere il mio problema. Svuotare la cache consente semplicemente al sito Web di ricaricare. È ancora uscito con la vecchia versione del file. Per dimostrare che il file sul server è stato effettivamente aggiornato, sono arrivato su un altro Mac sulla stessa rete e ha visualizzato la nuova versione del file. Non importa quante volte ho aggiornato o cancellato la cache o riaperto Safari, consegnerebbe sempre il vecchio file. L'unica altra soluzione che ho potuto trovare è stato il riavvio. Dopo un riavvio, Safari ha ricaricato l'intero sito Web e visualizzato la nuova versione del file.

Mi sto davvero chiedendo come svuotare la cache di Safari e farla funzionare correttamente. È qualcosa che fa il sistema operativo (ho avuto problemi simili anche con i file sul mio hard disk)? Non voglio riavviare tutto il tempo solo per vedere una nuova versione di un file, quindi c'è un modo in cui posso assicurarmi di visualizzare quella più recente? Esiste una cartella di archiviazione temporanea che posso cancellare manualmente? Questo mi succede abbastanza spesso (non terribilmente frequente, ma abbastanza da farmi notare) e la mia unica soluzione attuale è riavviare.

Ho una strana sensazione (non è proprio un pensiero, ma una possibilità così lieve che non ha molto senso) che provenga da un livello inferiore.


Usa chrome (o opera)?
Nome falso

Preferirei usare Firefox, ma sto sviluppando, quindi ho bisogno di testare il mio sito Web su tutti i browser incluso Safari.
Andrew Larsson,

Può essere utile utilizzare il curlcomando da riga di comando per richiedere un URL, per vedere cosa ne viene fuori. La vecchia pagina o la nuova? Dal momento che curlnon ha alcun concetto di "memorizzazione nella cache" nulla, questo ti dirà se qualcuno sul lato remoto (o il percorso tra) sta eseguendo la memorizzazione nella cache che non vuoi. Il tuo server potrebbe essere il vero colpevole qui! Sta memorizzando nella cache i file che serve? Betcha lo è. . .
Mike Robinson,

Risposte:


13

In Safari, tieni premuto il tasto ( Shift) mentre fai clic sul pulsante Aggiorna. Ciò eseguirà un aggiornamento "rigido", che ignora la cache locale.

(Per cancellare rapidamente la cache in Safari, premi + + E, vai su Privacy e fai clic su "Rimuovi tutti i dati dei siti Web" .)


Ci proverò sicuramente la prossima volta che mi imbatterò in questo problema. Questa è una cosa che non ho ancora fatto. Ho provato a ripristinare Safari, a svuotare la cache e persino a disconnettermi e ad accedere nuovamente. Grazie per l'ottima risposta!
Andrew Larsson,

2
Safari è un po 'confuso in questo aspetto, poiché la maggior parte degli altri browser utilizza + + Rper eseguire un aggiornamento intenso. In Safari, ciò non fa nulla, a meno che non si concentri gli Strumenti per gli sviluppatori Web durante l'esecuzione della combinazione di tasti.
Mathias Bynens,

Accetterò la tua risposta per ora fino a quando qualcuno troverà una spiegazione migliore con una soluzione comprovata alla cache ignorante che sto vivendo. Grazie!
Andrew Larsson,

1
@AndrewLarsson Ad ogni modo, dopo un aggiornamento intenso dovresti sempre ottenere l'ultima versione, supponendo che non ci sia una strana cache sul lato server in corso. Il che mi ricorda, quali intestazioni di cache invia il server insieme al file? Potrebbe essere un problema di configurazione del server.
Mathias Bynens,

Era un'altra cosa che stavo pensando. Se il server restituisce un 304 quando, in effetti, dovrebbe restituire nuovi contenuti, sarebbe qualcosa che devo modificare nella mia configurazione. Lo esaminerò la prossima volta che incontrerò questo problema.
Andrew Larsson,

2

Quando Safari non cancella la cache:

  1. Assicurati di esserti disconnesso da tutte le pagine web e di aver chiuso tutte le schede di Safari.

  2. Apri Finder e seleziona Vai → Vai alla cartella ... nella barra dei menu. (In alternativa, puoi usare la scorciatoia da tastiera, Command+ Shift+ g.)

  3. Copia e incolla quanto segue nel menu a discesa:

    ~/Library/Safari/Databases

  4. Elimina tutti i contenuti che appaiono in quella cartella evidenziando tutte le cartelle e facendo clic con il tasto destro e selezionando Sposta nel cestino.

  5. Apri nuovamente Safari e verifica che tutti gli elementi siano stati eliminati.

  6. Se non appare nulla quando si cercano i criteri di cui sopra, si prega di cercare

    ~/Library/Safari/Local Storage

    e seguire i passaggi 4 e 5 sopra per eliminare tutto il contenuto.


Nota che, sebbene Safari affermi, in precedenza, che "rimuoverà tutti i dati dei siti Web", la verità è che in realtà non lo è . Ma se si eliminano i contenuti delle varie cartelle menzionate qui, lo farà.
Mike Robinson,

1

Ho avuto lo stesso identico problema, tranne che ho notato che stava accadendo anche con altri browser. A quanto pare non era Safari o OSX, era una cache creata dal fornitore di servizi.

Per risolvere il problema ho inserito il codice nella mia pagina per impedirne la memorizzazione nella cache.

content = "no-cache"

"Alcune persone conoscono la memorizzazione nella cache del browser, ma rimangono comunque sorpresi dalla memorizzazione nella cache dell'ISP. La memorizzazione nella cache dell'ISP funziona più o meno allo stesso modo della memorizzazione nella cache del browser. Dopo aver visitato un sito Web, l'ISP può memorizzare tali pagine in cache in modo che sembrino caricarsi più rapidamente la prossima volta che li visiti, il problema principale è che, diversamente dalla cache del browser, non puoi eliminare questi file temporanei, ma devi aspettare fino alla scadenza della cache del tuo ISP e richiedere nuove copie dei file. Questo può essere molto frustrante se stai tentando di sviluppare o apportare modifiche al tuo sito web o anche di cercare nuove informazioni ".


Potete per favore riportare al codice completo (come nella prima versione della risposta)? Se inserisci quattro spazi all'inizio della riga, non dovrebbero esserci problemi con la formattazione.
Nohillside

Questo è un buon punto e lo proverò la prossima volta. Tuttavia, non sono sicuro di quanto bene si applicherebbe alla situazione che ho descritto nella domanda, perché i Mac che ho usato erano entrambi sulla stessa rete e avevano lo stesso IP globale (quindi l'ISP non sarebbe in grado di determinare il differenza tra loro).
Andrew Larsson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.