Safariのキャッシュを本当にフラッシュするにはどうすればよいですか?


16

MacでHTMLを編集した後、問題に遭遇する回数は無数にあります。この問題は、更新されたファイルをFTP経由でサーバーにアップロードしたことに由来し、SafariのWebサイトに移動します。適切に動作しなかった1つのことは、SafariがすでにWebページ(古いバージョン)をキャッシュしていたため、古いバージョンが表示されることでした。私は自分で考えて、Safariのキャッシュをクリアして、問題が解決することを期待しました。キャッシュをクリアすると、単にWebサイトがリロードされたように見えます。まだ古いバージョンのファイルを思いついた。サーバー上のファイルが実際に更新されたことを証明するために、同じネットワーク上の別のMacにアクセスすると、ファイルの新しいバージョンが表示されました。キャッシュを何度も更新またはクリアしたり、Safariを再度開いたりしても、常に古いファイルが配信されます。私が思いついた他の唯一の解決策は、再起動することでした。再起動後、SafariはWebサイト全体をリロードし、ファイルの新しいバージョンを表示しました。

Safariのキャッシュをフラッシュし、適切に動作させる方法を本当に疑問に思っています。これはオペレーティングシステムが実行するものですか(ハードドライブ上のファイルにも同様の問題があります)。ファイルの新しいバージョンを表示するためだけに常に再起動する必要はありません。最新バージョンを表示していることを確認する方法はありますか?手動で消去できる一時保存フォルダーはありますか?これは非常に頻繁に起こります(それほど頻繁ではありませんが、気付くには十分です)。現在の唯一の解決策は再起動することです。

私は奇妙な感覚を持っています(それは実際には考えではありませんが、あまり意味をなさないほど小さな可能性があるため)、それはより低いレベルから生じています。


クロム(またはオペラ)を使用しますか?
偽の名前

私はむしろFirefoxを使用しますが、開発中なので、Safariを含むすべてのブラウザーでWebサイトをテストする必要があります。
アンドリューラーソン

使用することが有用であり得るcurlかを確認するために、URLを要求するために、コマンドラインのコマンドをそれが思い付きます。古いページですか、それとも新しいページですか?curl何も「キャッシング」という概念がないため、リモート側(またはその間のパス)の誰かが望まないキャッシングを行っているかどうかがわかります。 あなたのサーバーは、実際の犯人かもしれません!提供するファイルをキャッシュしていますか?べっちゃです。。。
マイクロビンソン

回答:


13

Safariでは、Shift)キーを押しながら更新ボタンをクリックします。これにより、ローカルキャッシュをバイパスする「ハード」リフレッシュが実行されます。

(Safariのキャッシュをすばやくクリアするには、+ + E押してプライバシーに移動し、[ すべてのWebサイトデータを削除 ]をクリックします。)


次回この問題に遭遇したときは、間違いなく試してみます。それは私がまだしていないことの一つです。Safariをリセットし、キャッシュをクリアし、ログアウトして再度ログインしようとしました。すばらしい回答をありがとう!
アンドリューラーソン

2
他のほとんどのブラウザは+ + Rを使用してハードリフレッシュを実行するため、Safariはこの点で少し混乱します。Safariでは、キーボードコンボの実行中にWeb開発ツールに焦点を合わせない限り、それは何もしません。
マティアスバイネンズ

誰かが私が経験している無知なキャッシングの実証済みの解決策についてより良い説明をするまで、私は今のところあなたの答えを受け入れます。ありがとう!
アンドリューラーソン

1
@AndrewLarssonとにかく、ハードリフレッシュ後は、奇妙なサーバー側キャッシュが実行されていないと仮定して、常に最新バージョンを取得する必要があります。サーバーがファイルと一緒に送信するキャッシングヘッダーは何ですか?サーバー構成の問題である可能性があります。
マティアスバイネンズ

それは私が考えていた別のことでした。サーバーが実際に新しいコンテンツを返す必要があるときに304を返している場合は、構成で変更する必要があるものになります。次回この問題に遭遇したときに、これを調査します。
アンドリューラーソン

2

Safariがキャッシュをクリアしない場合:

  1. すべてのWebページからログアウトし、すべてのSafariタブを閉じていることを確認してください。

  2. Finderを開き、メニューバーで[移動]→[フォルダーへ移動...]を選択します。(または、キーボードショートカットCommand+ Shift+を使用できますg。)

  3. 以下をコピーしてドロップダウンに貼り付けます。

    ~/Library/Safari/Databases

  4. そのフォルダーに表示されるすべてのコンテンツを削除するには、すべてのフォルダーを強調表示し、右クリックして[ゴミ箱に移動]を選択します。

  5. Safariを再度開き、すべてのアイテムが削除されたことを確認します。

  6. 上記の条件を検索しても何も表示されない場合は、検索してください

    ~/Library/Safari/Local Storage

    上記の手順4と5に従って、すべてのコンテンツを削除します。


Safariは上記で「すべてのWebサイトデータを削除する」と言っています、実際にそうではないことに注意してください。ただし、ここで説明したさまざまなフォルダーの内容を消去すると、消去されます。
マイクロビンソン

1

他のブラウザーでも発生していることに気づいたことを除いて、まったく同じ問題がありました。判明したように、それはSafariまたはOSXではなく、サービスプロバイダーによって作成されたキャッシュでした。

この問題を解決するために、ページがキャッシュされないようにコードを挿入しました。

content = "no-cache"

「ブラウザのキャッシュについて知っている人もいますが、それでもISPのキャッシュに驚かされます。ISPのキャッシュはブラウザのキャッシュとほぼ同じように機能します。Webサイトにアクセスすると、ISPはこれに関する主な問題は、ブラウザのキャッシュとは異なり、これらの一時ファイルを削除できないので、代わりにISPのキャッシュが期限切れになり、ファイルの新しいコピーが要求されるまで待たなければならないことです。ウェブサイトを開発または変更しようとしています。あるいは、新しい情報を見ようとしています。」


(回答の最初のバージョンで行ったように)完全なコードに戻すことができますか?行の先頭に4つのスペースを入れても、フォーマットに問題はないはずです。
nohillside

これは良い点であり、次回も試してみます。ただし、使用したMacが両方とも同じネットワーク上にあり、同じグローバルIPを持っていたため、質問で説明した状況にどの程度適用できるかわかりません(したがって、ISPはそれらの違い)。
アンドリューラーソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.