いわゆるブラウザキャッシングは、Webページに初めてアクセスすると、ブラウザがこれらのWebページをローカルにキャッシュすることを意味します。次回、これらのキャッシュされたWebページにアクセスすると、ブラウザは、ネットワークから取得することなく、ローカルエリアからこれらのWebページのコンテンツを直接読み取ります。
ブラウザによって提供されるキャッシュ機能は、リアルタイムの更新を必要とする一部のWebページでは、Webページの読み込み速度を効果的に改善できますが、このキャッシュメカニズムはWebページの通常の表示に影響します。幸いなことに、HTTP応答メッセージヘッダーには、クライアントブラウザーのキャッシュ関数をオフにする3つのフィールドがあります。次の3つのステートメントでは、これらの3つのフィールドを使用してブラウザのキャッシュを閉じます。
Response.SetDateHeader( "Expires"、0); Respons.setheader( "Cache-Control"、 "No-Cache"); Respons.Setheader( "Pragma"、 "No-Cache");
上記の3つのHTTP応答メッセージヘッダーフィールドはすべてブラウザキャッシュを閉じることができます。ただし、すべてのブラウザがこれらの3つの応答メッセージヘッダーフィールドをサポートしているわけではないため、上記の3つの応答メッセージヘッダーフィールドを使用してブラウザのキャッシュを閉じることをお勧めします。
例:現在のWebページをキャッシュしてブラウザを無効にします
1。例の説明
このプログラムは、ブラウザキャッシュが閉じられておらず、ブラウザキャッシュが閉じられている場合、フォームを介してリクエストメッセージを送信するときにパフォーマンスを実証します。
2。キャッシュクラスを書きます
ブラウザキャッシュは、キャッシュクラスの上記の3つの応答メッセージヘッダーフィールドを使用して閉じられ、HTMLコードの一部をクライアントに出力して、キャッシュを閉じてキャッシュを閉じない効果をテストします。キャッシュクラスの実装コードは次のとおりです。
パブリッククラスキャッシュは、httpservlet {public void service(httpservletrequest request、httpservletresponse応答)servletexception、ioexception {respons.setcontenttype( "text/html; charset = utf-8");文字列cache = request.getParameter( "cache"); if(cache!= null){if(cache.equals( "false")){// browser cache response.setdateheader( "expires"、0); Response.setheader( "Cache-Control"、 "no-cache"); Response.setheader( "Pragma"、 "no-cache"); }} // htmlコード文字列html = "<form id = 'form'、action = 'test' method = 'post'>" + "name:<入力タイプ= 'text' name = 'name'/>" + "<入力タイプ= 'value =' submit '/>" + "</form>"; printwriter out = response.getWriter(); out.println(html); //クライアントにHTMLコードを出力}}上記のコードからわかるように、キャッシュ要求パラメーター値がfalseの場合、ブラウザのキャッシュは閉じられます。
3.キャッシュクラスを構成します
キャッシュクラスの構成コードは次のとおりです。
<Servlet> <Servlet-Name> Cache </servlet-name> <servlet-class> Chapter5.cache </servlet-class> </servlet mapping> <servlet-name> cache </servlet-name> <url-pattern>/cache </url-pattern> </servlet-mapping>
4.ブラウザキャッシュが閉じられない状況をテストします
ブラウザアドレスバーに次のURLを入力してください。
http:// localhost:8080/demo/cache?cache = true
[名前]テキストボックスに文字列を入力し、[送信]ボタンをクリックします。現時点では、ブラウザに例外が表示されます(この例外は、存在しない提出されたテストが原因であるため、心配する必要はありません)。次に、ブラウザの戻りボタンをクリックして、データが入力されたページに戻ります。入力された文字列がまだ存在していることがわかります。これは、戻るときに、ブラウザがサーバーからページを取り戻すのではなく、ローカルキャッシュから現在のページをリロードすることを意味します。
5.ブラウザキャッシュを閉じる状況をテストします
ブラウザアドレスバーに次のURLを入力して、ブラウザキャッシュを閉じます。
http:// localhost:8080/demo/cache?cache = false
前のステップで提出して返品すると、入力されたデータが今消えてしまったことがわかりました。これは、ブラウザのキャッシュを閉じた後、ブラウザが返すたびにサーバーから現在のページを常に取り戻すことを意味します。したがって、現在のページは常に初期値を維持します。
6。手順の概要
ブラウザキャッシュを閉じるとき、可能な限りほとんどのブラウザで効果的であることを確認するために、上記の3つのHTTP応答メッセージヘッダーフィールドを使用して、ブラウザキャッシュを同時に閉じることをお勧めします。
要約します
上記は、Javawebのブラウザが現在のWebページのキャッシュを禁止する方法です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!