【Webキャッシュメカニズムの概要】3–キャッシュ可能サイトの構築方法
4048 ワード
====インデックス====
【Webキャッシュメカニズムの概要】1–Webキャッシュの役割とタイプ
【Webキャッシュメカニズムの概要】2–Webブラウザのキャッシュメカニズム
【Webキャッシュメカニズムの概要】3–キャッシュ可能サイトの構築方法
【Webキャッシュメカニズムの概要】4–HTML 5時代のWebキャッシュメカニズム
【Webキャッシュメカニズムの概要】5–Web App時代のキャッシュメカニズムの新しい考え方
============
Webキャッシュの実行メカニズムが極めて重要であることを理解した後、以下の面からサイトの改善に努力し、キャッシュが最も有効に利用され、最適な性能を達成することを保証することができます.
同じリソース保証URLの安定性
URLはブラウザキャッシュメカニズムの基礎であるため、1つのリソースが複数の場所で参照される必要がある場合は、URLが固定されていることをできるだけ保証します.また、Google Ajax Libraryなどの共通クラスライブラリの使用を推奨し、キャッシュの最大限の使用に役立ちます.
Css、js、ピクチャなどのリソースにHTTPキャッシュヘッダを追加し、エントリHtmlがキャッシュされないように強制する
Css、js、ピクチャなど、頻繁に変更されない静的リソースについては、長い期限切れを設定したり、少なくともLast-Modified/Etagを追加したりすることができますが、htmlページのようなエントリファイルについては、キャッシュの設定は推奨されません.これにより、静的リソースが変わらない場合に、再送要求を行わずに、または304を直接介して重複ダウンロードを回避することができ、また、リソースに更新があることを保証することができ、リソースにタイムスタンプを追加したり、パスを交換したりすることによって、ユーザーに最新のリソースにアクセスさせることができる.
Cookieへの依存を減らす
Cookieの使用が多すぎるとHTTP要求の負担が大きくなり、GETやPOST要求のたびにCookieを持ち込み、ネットワーク伝送流量を増加させ、インタラクティブな時間を増加させる.同時にCacheはキャッシュされにくいので、できるだけ使わないか、ダイナミックページで使うべきです.
HTTPS暗号化プロトコルの使用を減らす
HTTPSで要求されたリソースは、デフォルトではキャッシュされません.リソースをキャッシュするには、特別な構成が必要です.敏感な情報に関する要求に対してのみHTTPS伝送を使用することを提案し、その他はCss、Js、ピクチャなどの静的資源のように、できるだけ使用を避ける.
動的CgiをGet方式で要求することが多い
POSTの要求方式はGetよりも安全であり、パスワードのような機密情報がネットワーク上で伝送され、エージェントや他の人によってキャプチャされることを避けることができるが、Getの要求方式はより速く、効率が高く、キャッシュされることができ、機密情報の提出に関与しない要求に対してできるだけGet方式で要求することを提案する.
ダイナミックCGIもキャッシュできます
動的スクリプトまたはCGI入力の内容が一定の時間範囲内で固定されている場合、またはGETパラメータによって同じであり、入力された内容が同じである場合、要求はキャッシュされると考えられ、以下のような方法があり、この効果を達成することができる.は、動的スクリプトが定期的にコンテンツを変更するときに静的ファイルとして導出し、WebはLast-MOdified/Etagを有する静的ファイル に直接アクセスする.開発者は、動的スクリプトの応答ヘッダにCache-Control:max-ageをコードで追加することができ、ブラウザが期限切れになる前にレプリカ を直接使用できることを示します.動的スクリプトの応答ヘッダにLast-MOdified/Etag情報をコードで追加し、ブラウザが再要求する場合、If-MOdified-Since/If-None-Martchを解析することでブラウザにキャッシュが存在するかどうか、コード論理制御によって304 に戻るかどうかを知ることができる.
サイトにキャッシュメカニズムを追加する方法
HTTPリクエスト/レスポンスヘッダにおけるキャッシュヘッダはサイトキャッシュを有効利用するために、Webフロントエンド開発者として、私は何をしますか?答えは:何もしなくてもいいです.ただし、Web運用者、Webバックエンド開発者がサーバと動的スクリプトCGIに適切なキャッシュヘッダを追加することを推進します.
サーバ構成
Apache関連構成リファレンス:mod_headers、mod_headers
キャッシュ可能なダイナミックスクリプトの作成
サーバ構成の方法は簡単で一般的ですが、サーバ構成を変更する権限がない場合や、より細かいExpires/Cache-Control/Etagなどの情報を追加する必要がある場合は、コードレベルから追加してみてはいかがでしょうか.異なる言語の書き方の実現は少し異なるが、構想は一致している.独立したモジュールを個別に開き、言語ライブラリが提供するヘッダを追加するインタフェースを呼び出し、必要に応じてヘッダ情報を設定できます.リクエストされたダイナミックスクリプトがキャッシュされる必要がある場合、include、requireなどのモジュールリファレンス方式で共通モジュールを呼び出し、キャッシュメカニズムを実現することができます.
Php実装コードの例は以下の通りである.
【Webキャッシュメカニズムの概要】1–Webキャッシュの役割とタイプ
【Webキャッシュメカニズムの概要】2–Webブラウザのキャッシュメカニズム
【Webキャッシュメカニズムの概要】3–キャッシュ可能サイトの構築方法
【Webキャッシュメカニズムの概要】4–HTML 5時代のWebキャッシュメカニズム
【Webキャッシュメカニズムの概要】5–Web App時代のキャッシュメカニズムの新しい考え方
============
Webキャッシュの実行メカニズムが極めて重要であることを理解した後、以下の面からサイトの改善に努力し、キャッシュが最も有効に利用され、最適な性能を達成することを保証することができます.
同じリソース保証URLの安定性
URLはブラウザキャッシュメカニズムの基礎であるため、1つのリソースが複数の場所で参照される必要がある場合は、URLが固定されていることをできるだけ保証します.また、Google Ajax Libraryなどの共通クラスライブラリの使用を推奨し、キャッシュの最大限の使用に役立ちます.
Css、js、ピクチャなどのリソースにHTTPキャッシュヘッダを追加し、エントリHtmlがキャッシュされないように強制する
Css、js、ピクチャなど、頻繁に変更されない静的リソースについては、長い期限切れを設定したり、少なくともLast-Modified/Etagを追加したりすることができますが、htmlページのようなエントリファイルについては、キャッシュの設定は推奨されません.これにより、静的リソースが変わらない場合に、再送要求を行わずに、または304を直接介して重複ダウンロードを回避することができ、また、リソースに更新があることを保証することができ、リソースにタイムスタンプを追加したり、パスを交換したりすることによって、ユーザーに最新のリソースにアクセスさせることができる.
Cookieへの依存を減らす
Cookieの使用が多すぎるとHTTP要求の負担が大きくなり、GETやPOST要求のたびにCookieを持ち込み、ネットワーク伝送流量を増加させ、インタラクティブな時間を増加させる.同時にCacheはキャッシュされにくいので、できるだけ使わないか、ダイナミックページで使うべきです.
HTTPS暗号化プロトコルの使用を減らす
HTTPSで要求されたリソースは、デフォルトではキャッシュされません.リソースをキャッシュするには、特別な構成が必要です.敏感な情報に関する要求に対してのみHTTPS伝送を使用することを提案し、その他はCss、Js、ピクチャなどの静的資源のように、できるだけ使用を避ける.
動的CgiをGet方式で要求することが多い
POSTの要求方式はGetよりも安全であり、パスワードのような機密情報がネットワーク上で伝送され、エージェントや他の人によってキャプチャされることを避けることができるが、Getの要求方式はより速く、効率が高く、キャッシュされることができ、機密情報の提出に関与しない要求に対してできるだけGet方式で要求することを提案する.
ダイナミックCGIもキャッシュできます
動的スクリプトまたはCGI入力の内容が一定の時間範囲内で固定されている場合、またはGETパラメータによって同じであり、入力された内容が同じである場合、要求はキャッシュされると考えられ、以下のような方法があり、この効果を達成することができる.
サイトにキャッシュメカニズムを追加する方法
HTTPリクエスト/レスポンスヘッダにおけるキャッシュヘッダはサイトキャッシュを有効利用するために、Webフロントエンド開発者として、私は何をしますか?答えは:何もしなくてもいいです.ただし、Web運用者、Webバックエンド開発者がサーバと動的スクリプトCGIに適切なキャッシュヘッダを追加することを推進します.
サーバ構成
Apache関連構成リファレンス:mod_headers、mod_headers
キャッシュ可能なダイナミックスクリプトの作成
サーバ構成の方法は簡単で一般的ですが、サーバ構成を変更する権限がない場合や、より細かいExpires/Cache-Control/Etagなどの情報を追加する必要がある場合は、コードレベルから追加してみてはいかがでしょうか.異なる言語の書き方の実現は少し異なるが、構想は一致している.独立したモジュールを個別に開き、言語ライブラリが提供するヘッダを追加するインタフェースを呼び出し、必要に応じてヘッダ情報を設定できます.リクエストされたダイナミックスクリプトがキャッシュされる必要がある場合、include、requireなどのモジュールリファレンス方式で共通モジュールを呼び出し、キャッシュメカニズムを実現することができます.
Php実装コードの例は以下の通りである.
Cache.php