質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

キャッシュ

キャッシュはドキュメントやデータを一時的に保管するもので、アクセス処理時間を短くするために使用されます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

4652閲覧

ajaxのキャッシュを無効化したい(apacheの設定?)

Begi

総合スコア56

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

キャッシュ

キャッシュはドキュメントやデータを一時的に保管するもので、アクセス処理時間を短くするために使用されます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

2クリップ

投稿2019/10/14 05:56

前提・実現したいこと

お世話になります。
webサーバでアプリケーションを稼働させていますが、時々キャッシュが発生し通信エラーのような状態になってしまうことがあります。
Chrome の DevToolsでリクエストヘッダを確認すると、「Provisional headers are shown」という、キャッシュされたデータを参照したため通信しませんでした、というメッセージが表示されます。
これを回避(発生自体を防ぐか、発生しても通信エラーのようにさせない)したいので、ご助力いただけませんでしょうか。

発生している問題・エラーメッセージ

画像のような状態がちょくちょく発生します。(発生しないこともあります)
イメージ説明
イメージ説明

試したこと

・jQueryのajaxのオプションに「cache: false」を設定
・metaタグに「<meta http-equiv="Cache-Control" content="no-cache">」を設定
・クエリパラメータにタイムスタンプを設定

など試しましたが、これでも発生しています。画像2枚目のものはタイムスタンプを付与していますが発生しています…。

補足情報(FW/ツールのバージョンなど)

・Struts 2
・jQuery 3.3.1
・Apache 2.2.15

他に必要な情報などありましたらご指摘いただければと思います。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

jQueryのajaxのオプションに「cache: false」を設定

でキャッシュが利用されているならサーバー側の問題なので
クライアントが何をやっても効果は薄いと思います

ようは

javascript

1fetch('api?cache='+new Date().getTime()).then(x=>x.text()).then(console.log);

のようにユニークなパラメータを投げているので、
それをどうサーバーが解釈するか次第でしょう

投稿2019/10/15 02:51

yambejp

総合スコア114583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Begi

2019/10/15 03:24

回答ありがとうございます。 サーバの解釈は、どのあたりで行われているのでしょうか。 Tomcatの設定でそういったことをした記憶はないので、apacheでしょうか。
yambejp

2019/10/15 03:26

通常違うパラメータを渡せば違うURLとして認識するので それをしないならなにかプログラムで制御している可能性があります
Begi

2019/11/20 01:21

確認が遅くなり申し訳ありません。 プログラムでそういった制御をしている様子は無いようなので、他の意見も募ってみたいと思います。
Begi

2019/11/21 07:10

Chromeの開発者ツールのConnectionがcloseになっており、これが原因かと思いサーバを調べたところapacheのhttpd.confにてKeepAliveがOffになっていたためOnにしてhttpdを再起動したら現象が発生しなくなりました。 直接の原因ではないかと思いますが、ひとまず解決しましたのでベストアンサーとさせていただきたいと思います。 クローズドなサービスのため最大接続数については目をつぶることにします。。 この度はありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問