ホームページ  >  記事  >  バックエンド開発  >  PHP 開発ガイド: 詳細な Caching_PHP チュートリアル

PHP 開発ガイド: 詳細な Caching_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:51:35860ブラウズ

HTML ページのメタタグと PHP プログラムのヘッダーを使用して制御できます。例:

コードは次のとおりです

header('Cache-Control:max-age=86400, must-revalidate');//24時間

header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');

header('Expires:'.gmdate('D, d M Y H:i:s', time() + '86400').'GMT');

echo '私は更新しません'; 別の HTML ファイル c.htm を書き込みます:

ははは、行きましょう

下図の左側に示すように、127.1/c.htm をリクエストし、リンクをクリックし、ブラウザの戻るボタンで c.htm に戻り、リンクをクリックすると、キャッシュを追加したことがわかりました。指示に従って、何があっても行ったり来たりすることができます。 戻ってリンクをクリックすると、次のネットワーク リクエスト URL は常に灰色になります。これは、ブラウザが実際のネットワーク リクエストを開始せず、ユーザーのコンピュータに保存されているキャッシュされたページを直接呼び出すことを示します。 、キャッシュ時間が期限切れにならない限り、この期間中は、実際のコンテンツが変更されたとしても、ブラウザーはサーバー上のリソースを再読み取りしません。エコー文を変更してもう一度クリックすると、ネットワーク要求がまだ灰色であることがわかります。この場合、ブラウザは次の 3 つの状況でのみキャッシュを更新します:

(1)キャッシュの有効期限

(2) キャッシュがクリアされます;

(3)F5またはctrl+F5で強制更新します。 (ブラウザによって処理が異なる場合があります。私のテスト環境はFirefox 4です)

上記のヘッダー ディレクティブをブロックするか、代わりに次のコードを使用すると、 // クライアント ブラウザーにキャッシュ、HTTP 1.1 プロトコルを使用しないように指示します

コードは次のとおりです

Header("キャッシュ制御: キャッシュなし、再検証が必要");

//クライアントブラウザにキャッシュを使用せず、HTTP 1.0プロトコルと互換性を持つように指示します

コードは次のとおりです

header("Pragma: no-cache");

php开发指南:缓存详解 帮客之家教程

ブラウザはリクエストされるたびにサーバーからリソースを読み取ります。右下の写真に示すように。 ここで、ブラウザによるページのキャッシュについて一般的に理解することができます。キャッシュする必要がある場合もあれば、キャッシュしない場合もあり、使用シナリオを考えるのは簡単です。ただし、ブラウザー キャッシュの役割は非常に小さいですが、大幅に節約できます。場合によっては、ブラウザーのキャッシュは非常に強力であり、JS ファイルなどを有効にするには強制的に更新する必要がある場合があります。変更すると、更新しても変更されないことがあります。さらに、コード内でページ キャッシュを設定するだけでなく、APACHE などのサーバー上でも設定することができ、特に静的リソースの場合、キャッシュによって不要なリクエストを効果的に削減できます。

JS ファイルの後の疑問符の文字列は、JS がキャッシュされることを回避し、通常はタイムスタンプが付けられたバージョン番号を追加するためのものです。こうすることで、ブラウザは JS ファイルをキャッシュしなくなります。

フロントエンド ページ キャッシュの目的はリクエストを減らすことなので、すぐに別のアイデアを思いつきました。それはデータを圧縮することです。いくつかのツールを使用すると、CSSおよびJSコードを圧縮できます。たとえば、jquery のユーザー バージョンは圧縮されており、圧縮率は多くの場合非常に大きくなります。通常、圧縮には jsmin と jspacker が使用されます。特定のツールはオンラインで検索できます。

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

本当http://www.bkjia.com/PHPjc/371798.html技術記事 HTML ページのメタ タグと PHP プログラムのヘッダーを使用して制御できます。例: コードは次のとおりです header('Cache-Control:max-age=86400, must-revalidate');//24 hours header( 「先月...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。