ホームページ  >  記事  >  バックエンド開発  >  HTTP メッセージ ヘッダー Web ページ キャッシュ制御の簡単な分析と一般的なヘッダー命令の紹介_PHP チュートリアル

HTTP メッセージ ヘッダー Web ページ キャッシュ制御の簡単な分析と一般的なヘッダー命令の紹介_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:02:06855ブラウズ

Web ページのキャッシュは、HTTP メッセージ ヘッダーの「Cache-control」によって制御されます。一般的な値には、private、no-cache、max-age、must-revalidate などが含まれます。デフォルトは private です。その機能は、さまざまな再閲覧方法に応じて次の状況に分類されます:
(1) 新しいウィンドウを開きます
値はプライベート、キャッシュなし、必須再検証の場合、新しいウィンドウが開いたときにサーバーが再アクセスされます。が開かれます。
max-age 値が指定されている場合、この値以内にサーバーは再度アクセスされません。例:
Cache-control: max-age=5 (Web ページが 5 秒以内に再度アクセスされることを意味します)サーバーへ)
(2) アドレスバーで Enter キーを押します
値がプライベートまたは再検証が必要な場合、サーバーには初回のみアクセスされ、再度アクセスされることはありません。
値はキャッシュなしの場合、毎回アクセスされます。
値が max-age の場合、有効期限が切れる前に再度アクセスすることはできません。
(3) 戻るボタンを押します。
の値が private、must-revalidate、max-age の場合、再アクセスされません。
の値が no-cache の場合、再度アクセスされます。
(4) 更新ボタンを押します
値が何であっても、繰り返しアクセスされます
キャッシュ制御値が「no-cache」の場合、このページにアクセスしてもページのバックアップは残りません。インターネットの一時記事フォルダー。
さらに、「Expires」値を指定するとキャッシュにも影響します。たとえば、Expires の値がかなり経過した時間として指定されている場合、このネットワークにアクセスするときにアドレス バーで Enter キーを繰り返し押すと、アクセスは毎回繰り返されます。 Expires: Fri, 31 Dec 1999 16:00 :00 GMT
例: Forbidden ページは IE にキャッシュされています
http 応答メッセージ ヘッダー設定:
CacheControl = no-cache
Pragma=no-cache
Expires = -1
Expires の場合は良いことです。サーバー上の Web ページは頻繁に変更されるため、すぐに期限切れにするには -1 に設定します。 Web ページが毎日午前 1 時に更新される場合、有効期限を翌日の午前 1 時に設定できます。
HTTP1.1 サーバーが CacheControl = no-cache を指定すると、ブラウザーは Web ページをキャッシュしません。
古い HTTP 1.0 サーバーは Cache-Control ヘッダーを使用できません。
そのため、HTTP 1.0 サーバーとの下位互換性のために、IE は Pragma:no-cache ヘッダーを使用して HTTP に対する特別なサポートを提供します。
クライアントが安全な接続 (https://)/ を介してサーバーと通信し、サーバーが応答で Pragma:no-cache ヘッダーを返した場合、
Internet Explorer は応答をキャッシュしません。注: Pragma:no-cache は、安全な接続で使用される場合にのみキャッシュを防止します。安全でないページで使用された場合、処理は Expires:-1 と同じになりますが、ページはすぐに期限切れとしてマークされます。

ヘッダーの共通命令
ヘッダーは 3 つの部分に分かれています:
最初の部分は HTTP プロトコルのバージョン (HTTP バージョン) です。
2 番目の部分はステータス コード (ステータス) です。部分は理由フレーズ (Reason-Phrase) です。

コードをコピーします コードは次のとおりです:

// 404 ページを修正する: URL 書き換えによって引き起こされる 404 ヘッダーを解決するには、このヘッダー コマンドを使用します
header('HTTP/1.1 200 OK');

// 404 ヘッダーを設定します: ページが見つかりません
header('HTTP/ 1.1 404 Not Found');

//検索エンジンに URL を更新するように指示できるページの永続的なリダイレクト
// Moved Permanently ヘッダーを設定します (リダイレクトに適しています)
// location ヘッダーと一緒に使用します
header('HTTP/1.1 301 Moved Permanently');

// アクセス制限
header('HTTP/1.1 403 Forbidden');

// サーバーエラー
header('HTTP/1.1 500 Internal Server Error');

// Heavy Direct新しい場所へ
// 新しい場所にリダイレクト:
header('Location: http://www.www.jb51.net);

遅延付きリダイレクト:
header('Refresh: 10; url=http: //www.jb51.net');
print '10 秒後にリダイレクトされます';

// X-Powered-By の値を上書きします
// X-Powered-By を上書きします: PHP:
header('X -Powered-By: PHP/4.4.0');
header('X-Powered-By: Brain/0.6b');

// コンテンツ言語 (en = 英語)
// コンテンツ言語 (en = 英語) )
header('Content- language: en');

//最終更新時刻 (キャッシュ時に使用可能)
// 最終更新時刻 (キャッシュに適しています)
$time = time() - 60; filemtime($fn), etc
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT' );

// ブラウザにcontent
// 変更されませんでした
header('HTTP/1.1 304 Not Modified');

/ / コンテンツの長さを設定します (キャッシュに適しています):
// コンテンツの長さを設定します (キャッシュに適しています):
header(' Content-Length: 1234');

// ファイルのダウンロードに使用されます:
// ダウンロードのヘッダー:
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment ; filename="example.zip"');
header('Content-Transfer-Encoding : binary');

//現在のドキュメントのキャッシュを無効にする:
//送信するファイルをロードする:readfile('example. zip');
// 現在のドキュメントのキャッシュを無効にします:
header('Cache-Control: no-cache、no-store、max-age=0、must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

// コンテンツ タイプを設定:
/ / 過去の日付header('Pragma: no-cache');
// コンテンツ タイプを設定:
header('Content-タイプ: text/html; charset=iso-8859-1');
header('Content-Type: text/html; charset=utf-8');
// プレーン テキスト ファイル
header('Content-Type: text/plain');

// JPG画像
header('Content-Type: image/ jpeg');

// ZIPファイル
header('Content-Type: application/zip');

// PDF ファイル
header('Content-Type: application/pdf');

// オーディオ MPEG (MP3,...) file
header('Content-Type: audio/mpeg');

// Flash アニメーション// サインインボックスを表示
header('Content-Type: application/x-shockwave-flash' );

// HTTP 認証に使用できるログインダイアログボックスを表示します
header('HTTP/1.1 401 Unauthorized ');
header('WWW-Authenticate: Basic realm="Top Secret"');
print ' ユーザーがキャンセルを押すか、';
print '間違ったログインデータを入力した場合に表示されるテキスト';



http://www.bkjia.com/PHPjc/327939.html

本当http://www.bkjia.com/PHPjc/327939.html技術記事 Web ページのキャッシュは、HTTP メッセージ ヘッダーの「Cache-control」によって制御されます。一般的な値には、private、no-cache、max-age、must-revalidate などが含まれます。デフォルトは private です。その機能は以下に応じて異なります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。