Written by MT

「サイトが更新されていないのですが」
「キャッシュなんで更新してください」
このやり取りにうんざりしている制作者や依頼主さんは多いんじゃないでしょうか。

キャッシュが何であるのか、どうすれば更新できるのか。
Webに詳しくない方でもわかるように、なるべく噛み砕いて解説します。

そもそもキャッシュとは何なのか

キャッシュ (英: cache) は、CPUのバスやネットワークなど様々な情報伝達経路において、ある領域から他の領域へ情報を転送する際、その転送遅延を極力隠蔽し転送効率を向上するために考案された記憶階層の実現手段である。

一言で言うと、これがキャッシュです。
いやわかるかい!てな声が聞こえてきそうなんで、いったん「サイトをさっさと見るための機能」だと思ってください。

もう少し詳しく理解する為には「Webサイトを閲覧する」という行為がどういう事かを把握してもらう必要があります。
すこし説明しますと…

Webサイトは、クライアントからサーバーへリクエストすることによりサーバーからクライアントへ結果が送られて閲覧できます。

これもまた難しい用語ですので解説をしますと、クライアントとは閲覧するコンピューターで、目の前のパソコンであったり手元のスマホであったりを指します。
サーバーはサイトの情報が入ったコンピュータです。
制作者が予めパソコンで作ったデータをサーバーに転送することにより、サーバーはサイトのデータを保持しています。

パソコンやスマホからブラウザでURLにアクセスすることにより、「サイト見せてくれ」とサーバーに要求し、サーバーは利用者のパソコンやスマホにサイトのファイルやプログラム実行結果を送りつけるわけです。
ここで重要な事がひとつあり、利用者はサーバーにあるファイルを直接見ているわけではなく、サーバーから自分のコンピュータにダウンロードしたファイルを見ているという事です。

サーバーからファイルがクライアントにダウンロードされる

そして次に同じサイトを見た時、何が起こるか。
クライアントはサーバーへファイルの要求をすることなく、すでに保存済みのファイルを表示します。
これがキャッシュの仕組みです。
サーバーにあるファイルが新しくなっていてもそれを要求をしないので、見ている側にはサイトが更新されていないように見えます。
前に閲覧してからの期間等、キャッシュを使うかどうかはブラウザや設定により異なりますが、「最近見たなぁ」というサイトは大体キャッシュを使います。

キャッシュがあると、サーバーへリクエストしない

なんでそんな事すんねん、横着せんと毎回ダウンロードせえや!と思うかもしれませんが、これには理由があります。
それは冒頭にも書いたように早く表示する為です。
毎回すべてのファイルをダウンロードしていてはサイトの表示が遅くなってしまうので、最近見たようなサイトでは「そんな毎回毎回ダウンロードしなくていいでしょ!」と一部のファイルのダウンロードを省略するんですね。
キャッシュはブラウザについている便利機能であり、決して敵ではないんです。

キャッシュが表示されたらどうすればいいか

「でも常に最新のもの見れないじゃん」という意見はその通り。
最新の状態で見たければ閲覧側の操作で対応してください、というのがWebの考え方です。
それが我々が言う「更新してください」なんです。

キャッシュが表示されているブラウザで最新の状態で見るには、3通りの方法があります。

リロード

ブラウザのURL欄付近にある、くるんと丸くなってる矢印がリロードボタンです。
これを押す事がいわゆる「更新」で、大体これで新しいファイルがダウンロードされて最新の状態で閲覧できます。
ただ”大体”と表現しているように絶対ではないんですよね。
たまにキャッシュファイルをそのまま表示する場合もあります。

リロードにはショートカットもあります。

Windowsの場合

・F5
・Ctrl + R

Macの場合

・Command + R

スーパーリロード

その名も凄い更新。強制再読み込みとも表現されます。
これはキャッシュを使わずに必ずサーバーから新規にファイルをダウンロードするという操作ですので、必ず最新の状態で表示できます。ブラウザにはスーパーリロードを行うボタンは付いていないので、必ずキーボードでの操作が必要です。

これが一番お薦めの操作です。
キャッシュが表示された時や、なんか表示がおかしいぞという時はとりあえずスーパーリロードをする癖を付けましょう。

Windowsの場合

・Ctrl + F5

ブラウザによってそれぞれ他にもショートカットがありますが、上記で主要ブラウザは全部対応してるので、他は覚えなくていいと思います。

Mac(Google Chrome)の場合

・Command + Shift + R

Mac(Safari)の場合

・Shift + 更新ボタン

設定からキャッシュをクリア

普通はスーパーリロードをすれば最新のファイルを閲覧できるのであまり使う必要はないと思いますが、各ブラウザの設定画面からキャッシュをクリアすることが出来ます。
項目をよく選ばないと、閲覧履歴やCookieなんかも削除してしまう場合があるので注意が必要です。

Windows(Chrome)の場合

ブラウザによってやり方が違いますが、大体1個知ってればなんとなくわかると思うのでChromeの画面で説明します。

右上のメニュー(点3つ)マークからその他のツール > 閲覧履歴を消去をクリックすると、「閲覧履歴データの削除」のポップアップが開きます。
キャッシュを削除したい期間を選択し、キャッシュされた画像とファイルにチェックを入れ、データを削除をクリック。
これでキャッシュが削除されます。

あんまりやる機会無いと思います

iOS(Safari)の場合

スマホはキーボードが無いのでスーパーリロードが存在せず、更新ボタンを押してもキャッシュファイルが使われ続ける事が結構多いです。
そういう場合は設定からキャッシュを削除する必要があります。

iOS(Safari)の場合で説明しますが、設定 > Safari > 履歴とWebサイトデータを消去
と進めばキャッシュがクリアされます。

この方法ではキャッシュだけを削除できないので、閲覧履歴等も一緒に削除されてしまい、結構鬱陶しいです。
それを避けたい場合は、サイトごとに個別のキャッシュをクリアしましょう。
設定 > Safari > 詳細 > Webサイトデータ
から個別のサイトを選択して削除してください。
リストから選ぶのは大変なので、検索するとお薦めです。

最後に

制作者にキャッシュキャッシュ言われて意味わからんしなんで毎回更新せなあかんねん、と思っている方は多いと思いますが、ここまで読んでいただければ意味や対処方法はわかっていただけたと思います。
あれ、更新完了のメールが来たのにサイトが古いままやんけ、という場合は電話を取る前にスーパーリロードしてください。
スーパーリロードをしてもサイトが古いままやんけ、という場合は我々のミスの可能性が大いにありますので自信を持ってこう言ってください。

「サイトが更新されていないのですが。」

blog top

Webに関するお問い合わせ、
ご相談はこちら。