2

キャッシュとその管理方法について学んでいます。

Web サイトのページを開くと、画像、css ファイル、js ファイルなどの静的コンテンツが一時フォルダーに保存されることがわかります。しかし、これらの属性を応答ヘッダーに追加したところ、キャッシュの動作に変化が見られません。

すべてのコンテンツは以前と同じように保存されます。また、js ファイルに変更を加えている場合でも、新しい js ファイルがフェッチされているのを確認できません。ブラウザーは、古いコンテンツを含む同じ古い js ファイルを使用します。

だから私は何か間違ったことをしていますか?

JSPファイルに追加したロジック:

    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP1.1.

    response.setDateHeader("Expires", 0); // Proxies.

  response.setHeader("Pragma", "no-cache"); // HTTP 1.0.

これらの変更後:

応答ヘッダー

     Cache-Control:no-cache, no-store, must-revalidate

    Content-Language:en-US

    Content-Length:3333

    Content-Type:text/html;charset=ISO-8859-1

    Date:Fri, 12 Dec 2014 11:48:37 GMT

    Expires:Thu, 01 Jan 1970 00:00:00 GMT

    Pragma:no-cache

    Server:WebSphere Application Server/8.0

    X-Powered-By:Servlet/3.0

これらの変更前:

応答ヘッダー

    Content-Language:en-US

    Content-Length:6788

    Content-Type:text/html;charset=ISO-8859-1

    Date:Fri, 12 Dec 2014 11:50:10 GMT

    Server:WebSphere Application Server/8.0

    X-Powered-By:Servlet/3.0

これらのヘッダーが適切に機能していることを確認するにはどうすればよいか知りたかっただけです。どんな助けでも大歓迎です。

4

2 に答える 2

1

使用curl:

curl -I  "URL"

フラグは-Iヘッダーを表示します。

于 2015-11-03T10:30:27.817 に答える
1

Chrome に LiveHTTPHeaders をインストールすると、ページ内のすべてのヘッダーが表示されます。また、困難な方法で、tcpdump や Wireshark などの pcap ツールを使用して、要求されたパケットを確認し、ヘッダーを表示することもできます。

于 2015-01-02T03:44:28.500 に答える