HTML HTTPプロトコルヘッダー情報は、ブラウザ側、中間キャッシュサーバー側(Squidなど)、Webサーバー側など、いくつかの場所でページのキャッシュ情報を制御します。この記事では、HTMLページのキャッシュ状況について、中間キャッシュサーバーのヘッダー情報(JSP/サーブレットによって生成されたHTMLページもHTMLページです)のキャッシュ制御情報を説明します。
HTTPプロトコルのキャッシュに関するヘッダーキーワードには、キャッシュコントロール(http1.1)、pragma(http1.0)、loustmidified、expiresなどが含まれます。
HTTP 1.0では、ページキャッシュはプラグマを介して制御され、プラグマまたはノーキャッシュを設定できます。インターネット上には、キャッシュページからブラウザまたは中間キャッシュサーバーを防ぐ方法を説明する多くの記事があります。値は通常、ノーキャッシュに設定されますが、この値はそれほど安全ではありません。通常、目標を達成するために有効期限が0に設定されます。ただし、ページをキャッシュするためにブラウザまたはキャッシュサーバーを意図的に必要とする場合、この値はプラグマに設定する必要があります。
HTTP 1.1では、ページのキャッシュを制御するためにキャッシュコントロールが有効になっています。一般的に使用されるいくつかのパラメーターは次のとおりです。
•ノーキャッシュ、ブラウザ、キャッシュサーバーは、ページ情報をキャッシュする必要はありません。
•パブリック、ブラウザとキャッシュサーバーの両方がページ情報をキャッシュできます。
•ストアなし、リクエストも応答情報も相手のディスクシステムに保存する必要はありません。
•クライアントからの要求ごとに、プロキシサーバーがキャッシュが時代遅れであることをサーバーに確認する必要がある必要があります。
ページの最後の世代のみ、GMT形式のみを永続化しました。
期限切れの制限値、GMT形式は、ブラウザまたはキャッシュサーバーがこの時点で実際のサーバーから新しいページ情報を取得する必要があることを意味します。
上記の2つの値は、JSPの文字型GMT形式に設定されており、有効になることができないため、長いタイプは有効になります。
これがテストの例です:
パッケージcom.servlet; import java.io.ioexception; import java.io.printwriter; Import javax.servlet.servletexception; Import javax.servlet.http.httpsert; import javax.servlet.http.httpservletrequest; servletaはhttpservlet {@overridepublic void service(httpservletrequest request、httpservletresponse response)servletexception、ioexception {response.setcontenttype( "text/html");秒。 //ページに数秒以内に再入力した場合、サーブレットのjava.util.date date = new java.util.date(); Response.setDateHeader( "last-modified"、date.getTime()); // last-modified:ページresponse.setdateheader( "expires"、date.gettime()+)の最後の世代時間; //期限切れ:有効期限が制限されます。 // Cache-Controlは、ページがキャッシュされているかどうかを制御します。 Response.setheader( "Pragma"、 "Pragma"); //プラグマ:ページがキャッシュされているかどうかを設定します。プラグマの場合、キャッシュされます。キャッシュなしの場合、キャッシュされません。//ブラウザまたはキャッシュサーバーは、現在のページ情報をキャッシュすることは許可されていません。 /* response.setheader( "pragma"、 "no-cache"); Response.setDateHeader( "Expires"、); Response.Addheader( "Cache-Control"、 "No-Cache"); //ブラウザもキャッシュサーバーもページ情報応答をキャッシュする必要はありません。Addheader( "Cache-Control"、 "No-Store"); Response.Addheader( "Cache-Control"、 "必須再生");*///クライアントからの各リクエストについて、プロキシサーバーは、サーバーにキャッシュが古くなっていることを確認する必要があります。 System.out.println( "Entered Servlet"); Response.getWriter()。write( "私のホームページへようこそ");}} HTMLページでキャッシュを設定する必要がある場合は、次のステートメントを<head>タグに追加します。
<Meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "">
添付ファイル:HTMLページのメタの役割
METAは、HTMLドキュメントのHTTPプロトコルの応答ヘッダーをシミュレートするために使用されます。メタタグは、Webページの<head>および</head>で使用されます。メタタグには多くの用途があります。メタには2つのプロパティがあります。名前とhttp-equivです。名前属性は、主にコンテンツ(Webページのコンテンツ)に対応するWebページを記述するために使用されます。そのため、検索エンジンロボットは検索と分類を行うことができます(現在、ほとんどすべての検索エンジンがオンラインロボットを使用してメタ値を自動的に検索してWebページを分類します)。これらの中で最も重要なのは、説明(検索エンジン上のサイトの説明)とキーワード(分類されたキーワード)です。したがって、各ページにメタ値を追加する必要があります。最も一般的に使用されるものは次のとおりです。
名前属性
1。
2。
3。
4。
5。
属性は次のように説明されています。
すべてに設定されています:ファイルが取得され、ページ上のリンクを照会できます。
なしに設定:ファイルは取得されず、ページ上のリンクを照会することはできません。
インデックスとして設定:ファイルが取得されます。
次のように設定:ページ上のリンクをクエリできます。
noindexに設定:ファイルは取得されませんが、ページ上のリンクを照会できます。
nofollowに設定:ファイルは取得されず、ページ上のリンクを照会できます。
HTTP-Equiv属性
1。
たとえば、英語はISO-8859-1文字セットであり、Big5、UTF-8、Shift-JIS、EUC、KOI8-2およびその他の文字セットもあります。
2。
3。失効したら、サーバーで再度呼び出されなければなりません。 GMT時間形式を使用する必要があることに注意する必要があります。
4。
5。 Webページの有効期限が切れると、保存されたCookieが削除されます。また、GMT時間形式を使用する必要があります。
6。
7。
8。この関数は、FrontPageの「フォーマット/Webページトランジション」ですが、追加されたページはフレームページにすることはできません。
上記は、ページのキャッシュと非キャッシュ設定、およびエディターが紹介したHTMLページのメタの役割に関する関連する知識です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!