• ベストアンサー

webサイトでファイルの内容が変更されていない?

たまになんですが、サイトにアップしている、例えば、gifファイルの内容を変更して再度アップしても画面では 旧のファイル内容のままってことがあります。これってどうしてですか? ファイル名を変更すれば、新しい内容のファイルになるんですが? 一時ファイル保存の関係かとも思いましたが、その場合でしたらファイル名が変更されても変化がないような気がするんですが・・ FTPツールでファイルを既存のサーバーに送信しても変りません。 詳しい方教えて下さいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8522/19371)
回答No.2

>旧のファイル内容のままってことがあります。これってどうしてですか? 読み込んでいるブラウザが「以前に読んだ画像と、URLがまったく同じだから、以前に読み込んであるキャッシュした画像を表示しとこう」と言う動作をして、最新の画像を拾おうとしないからです。 >ファイル名を変更すれば、新しい内容のファイルになるんですが? 画像のファイル名を変えても「変えた後とおなじURLの画像が、もう既にブラウザのキャッシュに入っている」と言う場合は、やはり、キャッシュされていた古い画像が表示されちゃいます。 >一時ファイル保存の関係かとも思いましたが、その場合でしたらファイル名が変更されても変化がないような気がするんですが・・ ファイル名を変えた結果、URLが「まだキャッシュされてない、新しいURL」になった場合、ブラウザにキャッシュが残ってないので、新しい画像が表示されます。 しかし、ファイル名を変えた結果、URLが「偶然、以前にキャッシュしてあった、古いURLと同じ」になった場合、ブラウザにキャッシュが残っているので、サーバから拾わないで、キャッシュされていた古い画像が表示されます。 >FTPツールでファイルを既存のサーバーに送信しても変りません。 WEBページを読んでいるクライアントパソコンのブラウザのキャッシュの問題なので、サーバを弄っても無意味です。 特に、携帯電話やスマートフォンなどのブラウザは、通信量を極限まで減らそうとして「URLが同じだったら、中身が更新されているかどうかは関係無しに、常にキャッシュされていた物を表示しようとする」と言う動作をします。 パソコンのブラウザの場合は、URLが以前と同一でも、サーバが送ってくる「最終更新日」を、以前にキャッシュした日付と比較して、サーバの方が日付が新しければ中身を読み直すようになっています。 その為、サーバにファイルをアップしているFTPツールの不備や不具合で「ファイル日付が正常にサーバ上に記録されない」と言う場合、日付チェックが上手く働かず「中身を更新したのに、更新された事にならず、ブラウザがキャッシュしてあった古い画像を表示する場合があります。 良くあるのが「FTPツールのタイムゾーン設定が間違ってて、日本の時差9時間分、サーバ上の日付が狂う」と言うケース。 この場合、FTPでファイル転送した時に、ファイルの日付が9時間過去に戻ったりするので、ブラウザが「このファイルは古い」と判断して、キャッシュしてある更新前の画像を表示しちゃいます。 そういう訳で、画像のファイル名を変更して再アップする場合は「今まで一度も使った事が無いファイル名」に変更して再アップしましょう。 「今まで一度も使った事がないファイル名」ならば「絶対にブラウザのキャッシュに残って無い」ので、確実にサーバから取り直しされます。

kfjbgut
質問者

お礼

PCやスマホのキャッシュって何時間おきにしているんですかね・・

その他の回答 (3)

  • chie65535
  • ベストアンサー率43% (8522/19371)
回答No.4

>PCやスマホのキャッシュって何時間おきにしているんですかね・・ キャッシュが更新されるのは「閲覧時、最新のものをサーバから拾ったとき」です。 それ以外ではキャッシュは更新されません。 PCのブラウザの場合、以下のような処理がされます。 1.閲覧時、ファイルを取得する前に、同じ物がキャッシュにあるかチェックする。 2.キャッシュに無い場合、サーバから最新のファイルを取得して、キャッシュに保存し、表示して終了。 3.キャッシュにあるが、一定期間以上経っていて古ければ、サーバから最新のファイルを取得して、キャッシュに保存し、表示して終了。 4.キャッシュにあるが、サーバにあるファイルの更新日を取得して、サーバの方が新しければ、キャッシュに保存し、表示して終了。 5.キャッシュにあって、サーバにあるファイルの更新日と同じであれば、キャッシュにあるファイルを表示して終了。 スマホのブラウザの場合、以下のような処理がされます。 1.閲覧時、ファイルを取得する前に、同じ物がキャッシュにあるかチェックする。 2.キャッシュに無い場合、サーバから最新のファイルを取得して、キャッシュに保存し、表示して終了。 3.キャッシュにあれば、キャッシュにあるファイルを表示して終了(サーバにあるファイルの方が新しくても、キャッシュにある古い物を表示してしまう) 但し、PCのブラウザのうち、一部のブラウザは「キャッシュの有無のみ調べて、更新日はチェックしない」ので、スマホと同様の動作をします。 その為「明示的に、キャッシュを無視して最新の情報を表示する」と言う操作をしないと、最新のファイルを表示しない場合があります。 >閲覧履歴の中に一時ファイルの削除があるんで、しましたがファイル内容は変りませんがね・・ ブラウザによっては「閲覧して、開かれたままのページ」など、特定のキャッシュは「一時ファイルの削除」では消えない場合があります。 どのブラウザを使用しているか判りませんが、質問者さんの言う「一時ファイルの削除」が「キャッシュの削除」である保証はありません。キャッシュではない、閲覧履歴の一時ファイルのみを削除している可能性があります。 こういう質問をする場合は、閲覧に使っているのがPCなのかスマホなのか、PCならブラウザは何なのか、スマホならブラウザは何なのか、ブラウザのバージョンが幾つなのか、きちんと明示しないと、的確な回答は得られません。 明示されてないと、回答する方も「推測で、あてずっぽうで答える」事になります。

kfjbgut
質問者

お礼

お気に入りからサイトをみる場合は、常に新しいサイトが表示されるんですよね・・

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 キャッシュとは簡単に言えば1回取得した画像はローカルのPCに保存しておいてそこから利用しようとすることです。 そうすることにより、ネットワーク上へ取得しに行かないので表示レスポンスやネットワーク資源の利用を節約できます。 なのでa.gifというファイルを表示してキャッシュされた場合、次にa.gifを表示するのはローカル(自分のPC)のa.gifを利用します。 次にa.gifがFTPにてアップロードされ変更されました。(ファイル名はそのままで画像は違う) しかし表示するのはローカル(自分のPC)のa.gifなので更新されてないと見えてしまいます。 ファイル名を変更すれば、それはまた違うファイルですのでキャッシュからではなくネットワーク上から取得します。 >一時ファイル保存の関係かとも思いましたが、その場合でしたらファイル名が変更されても変化がないような気がするんですが・・ だからこそです。自分のPCにキャッシュとして保存されていない画像であれば常に取りに行きますので。 キャッシュは履歴ではなく インターネット一時ファイルを削除しないとクリアされません。 またはctrlキー+F5でキャッシュを使わないで更新を実行できます。

kfjbgut
質問者

お礼

閲覧履歴の中に一時ファイルの削除があるんで、しましたがファイル内容は変りませんがね・・

  • adobe_san
  • ベストアンサー率21% (2103/9760)
回答No.1

>例えば、gifファイルの内容を変更して再度アップしても画面では >旧のファイル内容のままってことがあります。これってどうしてですか? これはキャッシュの問題。 >ファイル名を変更すれば、新しい内容のファイルになるんですが? なるけどhtmlの配置画像の名前替えないと変わらないよ。 >一時ファイル保存の関係かとも思いましたが、その場合でしたらファイル名が変更されても変化がないような気がするんですが・・ 当たり前の話。名前替えたらhtmlの画像名も変えないと意味がない。

kfjbgut
質問者

お礼

1 ネットでキャッシュを検索しましたがチョット意味が分かりませんでした。 この場合、変更したファイルを確認しようと思えば「閲覧履歴の削除」をすればいいのかと思って削除しましたが駄目でした・・ 2 画像名の変更は承知しています。

関連するQ&A

  • Webサイトのリニューアル手順について

    HTMLとCSSで作成された既存サイトをリニューアルした時のファイルをアップする手順について教えて欲しいです。 ドメインもサーバーもそのままなので、FTPツールであげるだけだと思いますが、既存HPは他人に作成してもらっているのでcssフォルダは今回とは違うファイルもあります。 サーバーにアップするとindex.htmlは上書き、cssの同じファイル名は上書き、必要ないものはそのまま残ってたり、新しく追加されてるファイルなど混ざるの思います。 そこで疑問なのですが、新しいファイルを全てアップロードして古い必要ないものは削除するという手順であっていますか?それとも他に効率のいいやり方がありますでしょうか? よろしくお願いいたします。

  • サイトの画像が入れ替わらない・・ なぜ?

    hpをアップして8年です。 サイトの画像をよく入れ替えるのですが、たまに、画像が入れ替わ らないことがあります。これってどうしてですかね? 既存の画像ファイルにほんの少しだけデザイン編集しアップします。 hpソフトのプレビューでは新しい画像に変っているのにアップ後の画面では 編集前の画像のままです。 FTPツールの右側で、ファイルを削除して再度、アップしても 編集前の画像です。 PCの一時ファイル削除(検索履歴)をしても何も変りません。 プレビューでは編集後の画像になっています。 気づいた症状としては、画像編集を大きく変えてしまうと結構、 すなおに画像が入れ替わります。当然、ファイル名を変更すれば 入れ替わります・・ 何で、すなおに入れ替わらないのですかね・・・? 詳しい方居られましたら宜しくご指導願います。

  • パーミッションの変更ができない

    FTPツールは、DreamweaverのFTPツールと、FFFTPの両方で試しました。 cgiデータとdatデータのパーミッションを変更したいのですが、サーバー上で変更して、一時は変わりますが、数十秒たつとまた元に戻ってしまいます。 かつて、他のHP制作時に、同じCGIファイルで正常に起動しており、レンタルサーバーも同じため、cgiの環境は問題ありません。 何度やってもcgiがうまく動かず、困っています。レンタルサーバーはロリポップで、ロリポップで聞いてみたところ、推奨のパーミッションはあるが、変更できない、ということはないとの回答をもらいました。 なぜ、変更しても元に戻ってしまうのかわけがわかりません。 どなたか、おわかりになる方、助けてください!

    • 締切済み
    • CGI
  • FTPソフトで、ファイル名を変更しながらアップしたい

    FTPソフトで、ファイル名を変更しながらアップしたい HPを作って、例えば●●.htmというファイルを作ったとき、自動的に●●.htmlと拡張子を変更してアップくれるFTPソフトを探しています。 現在使ってるFFFTPには残念ながらないのですが、そのような自動的にファイル名を変更する機能が搭載されている、フリーのFTPソフトをご存知でしたら、ぜひお願いいたします。 尚、アップする前に、手動または自動で変更する、というのはできるのですが、一手間かかってしまうため、アップしてる際に自動で変更してくれるソフトを探しています。 すみませんが、何卒よろしくお願いします。

  • ヤフージオシティーズにアップロードできなくなりました

    ちょっと事情がありまして4ヶ月ほどジオシティーズのHPの更新をしていませんでした。 昨日、久しぶりに更新しいつもどおりホームページビルダーでアップしようと思ったら「ファイル***(転送しようとしていたファイル)転送中にエラーが発行しました(-1)」と表示され更新できませんでした。 一時的に不都合があることはよくあるので、今日改めて作業しましたが相変わらず転送できません。 ジオのヘルプを見て「ftp.geocities.co.jp と指定されている場合があり(中略)FTPサーバ名が ftp.geocities.jp となっていることをご確認ください」とういう項目があったのでそこの部分を直し(ということは4ヶ月前まではどうしてアップできていたのか疑問ですが)再度送信してみましたが「サーバーftp.geocities.jp に繋がりません」とか上記の「エラーが発生しました」とかエラーが発せられるだけで一向に送信できません。 HP自体はファイルマネージャーからEZアップロードを使い更新しましたがとても不便です。何らかの原因が分かりませんでしょうか? ちなみに年末ごろに行われた新旧ジオシティズの変更は行い、その後普通に更新しておりました。

  • WEBサーバーにアップするファイル名の名前は何文字まで?

    WEBサーバーにアップする、 ○○.htmlとか、○○.gifとかのファイルって ファイル名は何文字までとかって決まっているのでしょうか? 昔なにかで、サーバーのOSによっては8文字までしか使用できないと 聞いたことはありましたが、 今借りているサーバーでは、8文字以上の名前をつけても、 アップして表示させることができますし OKWAVEの、左上ロゴマークのファイル名も logo_top_20081204.gifと、結構長い名前になっています。 基本文字数制限とかはあまり気にしなくてもいいのでしょうか?

  • vbでFTPサーバーに対して、サーバー上でのファイル複製(コピー&ペー

    vbでFTPサーバーに対して、サーバー上でのファイル複製(コピー&ペースト)させたいのですが、どうしたらいいのでしょうか? vbでFTPクライアント機能を作っていて、既に、FTPサーバーへのファイルアップロード、ローカルへのダウンロード、ファイルやディレクトリの削除といった処理は実現できました。 今度は、FTPサーバー上にある既存のファイルを複製したいのですが、そのような命令が無いため、どうしたらいいのか考えています。 例えば、ローカルにダウンロードし、それをリネームして再度アップロードすれば同じ結果にはなりますが、効率が悪すぎますしネットワークに対しても迷惑です・・・。 FTPサーバー上で既存のファイルを複製するにはどうしたらいいですか?? 分かる方お願いします。

  • FFFTPでのファイルのアップ

    本日、さくらのレンタルサーバにFFFTPを使ってファイルのアップを試みたのですが、うまくいきません。 他社で独自ドメインを取得してURLは持っているのですが、そのURLを打ち込んでもホームページが表示されません。 設定に間違いがある可能性もあるので仮登録完了のメール内容を載せておきます。 (さくら側) 《 契約サービスの接続情報 》 FTPサーバ名 : FTPアカウント : FTP初期フォルダ : サーバパスワード: POP3(受信)サーバ: SMTP(送信)サーバ: (FFFTP側) ホスト名(アドレス) ユーザ名 パスワード/パスフレーズ となっているのですが、それぞれどれがどれに対応しているのかがよくわかりません。 ここが間違っている可能性があると自身では思っています。 どなたかわかる方よろしくお願いします。

  • 1回のssh命令でサーバファイル内容を自ファイル内容で置換したい

    1回のsshコマンドでサーバーファイル内容の一部をローカルファイルの内容で置換する方法はありますか。 sshコマンドを2回使用すればできるのですが、2回連続で同パスワードを入力するスクリプトは格好悪いので、何とか1回のsshコマンドでこれを実現したいと思っています。 私が考えたコマンドは次の2行です。 ssh サーバー名 'cat >一時ファイル名' <ローカルファイル名 ssh サーバー名 'sed -e "s/置換文字列/`cat 一時ファイル名`/" サーバーファイル名 >一時ファイル名; cat 一時ファイル名 >サーバーファイル名; rm 一時ファイル名' 1行目のコマンドは、置換に使用するローカルファイルをサーバーへ複製しています。 2行目のコマンドは、複製したファイルを使用してサーバーファイルの内容を置換しています。置換後、用済みになった複製ファイルを削除しています。 ;を使用すれば2行目のコマンドのように1行のsshコマンド中に複数のコマンドを記述できるのですが、 1行目のコマンドと2行目のコマンドを合体させるとうまくいかないのです。 いろいろ工夫したのですが、今の私の力ではこれ以上単純化することができませんでした。 もっと単純化すれば1行に合体できる気がするのです。 どなたか、良い案がありましたら教えてください。

  • linuxサーバーにftpで送信したファイルのデフォルトパーミッションについて

    linuxにftpで送信したファイルのデフォルトパーミッションはサーバー側(ftpサーバー等)でコントロールできるのでしょうか? それともftpツール(ffftpやie)で個別にしかコントロールできないのでしょうか?