• ベストアンサー

プロキシのキャッシュを無効にするには?

Webアプリを作っています。 データの不整合等が嫌なので、ブラウザの「戻る」で戻った際には、no-cacheを設定しているので、 ページを表示しないようになっているのですが、 会社からアクセスしたときには、プロキシのせいか、 ブラウザの戻るボタンが効いてしまうのです。 これを効かなくする方法はありますでしょうか? サーバの設定、クライアント側の設定、 どちらでも良いです。

  • Java
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • jun2004
  • ベストアンサー率42% (24/57)
回答No.2

この問題に対して取った対策の一例です。 ページが遷移する毎にシーケンス番号(連番)を払い出し、次回のPOSTやGETの時にその番号を送るようにします。同時にセッションにも連番を保持しておけば、キャッシュから送信されたのか否かを判定できるので、不整合が起きる前にエラー画面を出して操作のやり直しをユーザに促せます。 かなりメンドクサイですが、お金が絡む部分など重要な画面だけにでも適用するといいと思います。

yu5473
質問者

お礼

ありがとうございます。 全箇所で対応すると大変ですが、重要な箇所だけ入れてみました。 うまく動作しました!

その他の回答 (1)

  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.1

Webアプリケーションの場合、キャッシュや「戻る」ボタンの問題はどんな対策を行おうとも本質的に解決できません。このため、キャッシュや「戻る」ボタンを使われても問題なく動作するように設計することが必要です。 とはいえ、キャッシュされないようにすることも念のための安全対策として重要ではあります。当該目的のために以下の3つのヘッダが良く使用されます。 Cache-Control ヘッダフィールド http://www.studyinghttp.net/rfc_ja/rfc2616.ja.xhtml#sec14.9 Pragma ヘッダフィールド http://www.studyinghttp.net/rfc_ja/rfc2616.ja.xhtml#sec14.32 Expires ヘッダフィールド http://www.studyinghttp.net/rfc_ja/rfc2616.ja.xhtml#sec14.21 これらを使い、「キャッシュするな」「手元にキャッシュコピーが存在しても再リクエストしろ」「この内容はすぐに期限切れになる」旨を通信内容に含めることができます。正しく設計されたプロキシサーバやWebブラウザであれば、これらヘッダを確認してキャッシュしないよう動作するはずです。ヘッダにこれらの情報を埋め込むための方法は環境によって異なりますのでお手元の開発環境についてくる説明をご確認ください。

関連するQ&A

  • キャッシュを無効に

    ブラウザの「戻る」ボタンを無効にしようとして、ソースの最初に With Response .Addheader "Pragma", "no-cache" .AddHeader "Cache-control", "no-cache" .Expires=0 .CacheControl="Private" End With と入れているのですが、「戻る」が効いてしまいます。 原因として、プロキシのキャッシュを読んでいるのではないかと思うのですが、プロキシのキャッシュを読みに行かないようにする方法はありませんか? 事情により、プロキシを使わないという選択肢は×です。また、プロキシそのものをいじってキャッシュを無効にするという手も使えません。 なんとかASPでそういう仕組みは使えないでしょうか。

  • プロキシキャッシュを使わずにWebページを見る方法

    学校で、プロキシサーバ経由でインターネットに接続しています。 Webページを見る場合に、プロキシのキャッシュが表示されて、 最新の情報が表示されないことが時々あります。 ブラウザーLunascapeの機能を用いて、プロキシキャッシュを使用しないに設定して見たりしてますが、使いにくいです。 パソコンの設定を変更することで、常時プロキシキャッシュを無効にすることができますか? いろいろ調べたのですが、分からないため、ご存知の方、よろしくお願いします。

  • Socksプロキシ

    プロキシサーバのテストをすることになって、Socksのプロキシサーバを作り、外部のクライアントから、内部LANのWEBサーバにアクセスするようにしました。 プロキシサーバをゲートウェイサーバに指定するとクライアントからのWEBサーバへのpingもちゃんとリプライがありました。 そして、クライアントでIEからURLを指定して、内部LANのWEBサーバにアクセスにいくと・・ IEの[インターネットオプション]の[LANの設定]の[プロキシサーバ]のところの[詳細設定]で、[サーバ]の項のところのSocksも含めた全部に、そのプロキシサーバのアドレスとポートを指定すると、WEBサーバへのアクセスがずーっと待ったままになってタイムアウトしてしまいました。 でも、[プロキシサーバ]の[詳細設定]の[サーバ]の項でSocksだけに、そのプロキシサーバのアドレスとポートを指定すると、WEBサーバにスムーズにアクセスできました。 これはなぜなんでしょう?? やっぱり、IEでhttpでURLを指定しているから、この[サーバ]の項の一番上にあるhttpのプロキシサーバからトライするんでしょうか。でもって、実際のプロキシサーバはSocksだったからリトライを繰り返して、ずーっと待ったままになってたんでしょうか。 実は、Socksが何かもほとんど知らないまま、テストをすることになり、あちこち調べて試行錯誤してやっております。こんな無知な私ですが、ご存じの方がいらしゃいましたら教えてください。よろしくお願いします。

  • プロキシについて教えてください

    カテゴリ違いだったらスイマセン。 最近職場のシステム担当になったんですが、ネットワーク系がさっぱりなので四苦八苦してます。 プロキシについて教えてください。 職場のプロキシサーバにて、幾つかのサイトに対しアクセス禁止(フィルタリング機能?)の設定を行っているようです。 また、クライアントPC側のブラウザの設定で行えるプロキシ除外設定で、イントラサイトのアドレスが設定されています。 それに関して質問です。 (1).プロキシサーバにてアクセス禁止を行ってるのに、なぜプロキシ除外設定を行う必要があるんでしょうか? 禁止していないサイトなのだから、除外なんかしなくても普通に見れるような気がするのですが…。 (といいつつ、実質プロキシの除外設定を行わないと見れないサイトがイントラサイト以外にも幾つかあるんですが…) (2).プロキシサーバにてアクセス禁止をしているサイトへ、そのアクセス禁止サイトのプロキシ除外設定を行ったPCがアクセスしたらどうなりますか? 見れますか?見れませんか? 分かりにくい質問ばかりで申し訳ございませんが、一項目だけでもご教授いただけると助かります。 宜しくお願いいたします。

  • HTMLの記述でプロキシーサーバを無効にできないものでしょうか。

    IE等のブラウザーの設定でプロキシーサーバが設定されている場合、1度開いたページがプロキシーサーバにキャッシュされてしまい、再度同一ページを開いた場合に本来更新されているべき内容が正しく表示されない事があると思います。これをCGI(HTMLの記述等)で回避する方法は無いものでしょうか。

  • squidと多段プロキシ

    OS : RedHatLinux 7.2 + squid (標準でインストールされるバージョン) LAN側IP 192.168.1.0/24 GW 192.168.1.254 Linux IP:192.168.1.10 設定項目表を確認すると、WEBのプロキシサーバーのアドレスが 192.168.8.1:3128 となっているんです。 ただ、このサーバーは内部側になくてどうやら接続先に あるようなのです。教育機関のネットワークですので少し特殊と思います。 squid.confの中として http_port 8080 acl_*** src 192.168.1.0/255.255.255.0 http_access allow *** forwarded_for off この程度しか変更しておりません。 ただ、cache_peer 192.168.8.1 parene 3128 3130 の 項目を入れてみたのですが、変化無しでした。 Linux上でのブラウザでプロキシの設定のところを 192.168.8.1 に 設定するといいのですが、ローカルIP(192.168.1.10) を入れるとだめみたいです。 当然、クライアントにIP 192.168.8.1を入れると通ります。 クライアントはRedHatLinuxのプロキシを使いたいのです。 クライアント→Proxy→教育機関Proxy→WEB 皆様のお知恵をお借りしたいと思います。 よろしくお願いします。

  • キャッシュ機能無しのプロキシサーバーを探しています

    インターネットのプロキシサーバーで、キャッシュ機能のない単体製品もしくは、そのような機能を持つ機器をご存知の方、ご教授お願いします。 -----以下詳細----- 現在、8か所の支店をIP-VPNで接続し、支店のパソコンは本社のプロキシサーバを経由してインターネットに接続しています。 プロキシサーバの更改を検討していますが、FTTHやADSLなどで安価にブロードバンドのインターネット接続ができるので、新しいプロキシサーバにはキャッシュ機能は不要ではないかと考えています。 端末の設定を変えないため、また、セキュリティ対策上、プロキシサーバ自体は今後も必要なのですが、HDDによるWebキャッシュを省き、単純にプロキシ機能に限定したプロキシサーバの製品はありませんでしょうか? 本社・支店でのプロキシ利用端末は400~500台程度です。 なお、管理上、LinuxなどのサーバにProxyアプリを稼動させるのではなく、単体のプロキシサーバ専用機もしくは相当の機能を持ったネットワーク機器を前提としています。 よろしくお願いいたします。

  • プロキシサーバーについて

    ◆前置き◆ webページを開発しているのですが、ローカル内からグローバルドメインでアクセスできません。 どうやらルーターの設定のようなので、プロキシを通して外部からアクセスすることでローカル内からもグローバルドメインでアクセスしたいと考えています。 ◆質問内容◆ プロキシについて調べてみると安全でないこともあるようなのでどのようなプロキシが安全なのか知りたいのです。 そこでプロキシサーバー、オススメのプロキシサーバーなどがあれば教えていただきたいと考えています。 できるかぎり無料のプロキシがいいです。 また、プロキシについてあまり知らないので注意店なども上げていただければありがたいです。 長くなってしまいましたが、何卒宜しくお願い致します。

  • キャッシュのクリアーについて

      ブラウザに問題が起きたときキャッシュの履歴をクリアーすることは当たり前のことのようですね。 実際これによってブラウザの異常動作が解決されることも確認しています。 http://okwave.jp/qa/q8802402.html さてこのキャッシュについてですが、ブラウザが利用するキャッシュの置き場所としてブラウザ内部のキャッシュとプロキシーサーバなど外部のキャッシュが考えられます。 仮に外部にページキャッシュ目的で大容量のプロキシーサーバを設置した場合も定期的にプロキシーサーバのキャッシュをクリアーする必要があるのでしょうか。  

  • プロキシについてです

    プロキシについてです インターネット速度が早いと謳っているプロキシや、プロキシ使う事でサクサクになったという知り合いがいます。 webのアクセスがプロキシを使用していない環境から速くなるということはあり得るのでしょうか? ざっくりとした認識ですが (1)pc - webサーバー (2)pc - プロキシサーバー - webサーバー このようなものだとして (2)が(1)に勝てるとは思えないのですが... pc- リモートアクセス - レンタルサーバー - プロキシサーバー - webサーバー webへのアクセスの速さを求めるのであれば こんな感じで実用されているのでしょうか? 初歩的な質問ですいません

専門家に質問してみよう