クライアント側キャッシュを使用して Web サイトを最適化する原理の分析 ページ 1/2_PHP チュートリアル
多くの人は、まずサーバー キャッシュの観点からプログラムを最適化したいと考えます。さまざまなサーバー キャッシュ方法にはそれぞれ独自の特徴があります。たとえば、私が参加したいくつかのプロジェクトでは、キャッシュ ヒット率に応じて Com+/Enterprise Libiary Caching を使用しました。 Windows サービスや静的ファイルなどのサーバー側のキャッシュと HTTP 圧縮テクノロジですが、クライアント側のキャッシュは無視されることがよくあります。サーバーのキャッシュによってページへのアクセスが非常に高速になったとしても、ブラウザーのダウンロードに依存する必要があります。そして、クライアント側のキャッシュを追加すると、サイト内で最も頻繁にアクセスされるページをキャッシュできるため、Web サーバーのスループット (通常は 1 秒あたりのリクエストの観点から) が完全に向上します。データ コンピューティング) を使用して、アプリケーションのパフォーマンスとスケーラビリティを向上させます。
オンライン ショッピングに関する調査によると、ほとんどの人は店舗では行列に並ぶことに抵抗はありますが、オンライン ショッピングでは待ちたくないことがわかりました。調査会社 Websense は、インターネット ユーザーの 70% が 10 秒以上ページを読むことに抵抗があると主張しています。 70%以上の人が速度が遅すぎるため、現在の注文をキャンセルします。
基礎知識
1) 「Last-Modified」とは何ですか?
ブラウザが初めて URL をリクエストしたとき、サーバーから返されるステータスは 200 で、コンテンツはリクエストしたリソースです。 Last-Modified 属性は、このファイルがサーバー側で最後に変更された時刻を示します。形式は次のようになります。
Last-Modified: Fri, 12 May 2006 18:53:33 GMT
クライアントがリクエストしたとき。 HTTP プロトコルの規定によれば、ブラウザは If-Modified-Since ヘッダーをサーバーに送信して、この時間以降にファイルが変更されたかどうかを尋ねます:
If-Modified-開始日: Fri, 12 May 2006 18:53:33 GMT
サーバー側のリソースが変更されていない場合、空のコンテンツとともに HTTP 304 (Not Changed.) ステータス コードが自動的に返されるため、データ量が節約されます。伝わる。サーバー側のコードが変更されるか、サーバーが再起動されると、リソースが再発行され、最初のリクエストと同様のものが返されます。 これにより、リソースがクライアントに繰り返し送信されなくなり、サーバーが変更されたときにクライアントが最新のリソースを取得できるようになります。
2) 「Etag」とは何ですか?
HTTP プロトコル仕様では、ETag を「要求された変数のエンティティ値」として定義しています (第 14.19 章を参照)。 別の言い方をすると、ETag は Web リソースに関連付けることができるトークンです。一般的な Web リソースは Web ページですが、JSON または XML ドキュメントの場合もあります。サーバーは、トークンの内容とその意味を決定する責任を負い、それを HTTP 応答ヘッダーでクライアントに送信します。サーバーから返される形式は次のとおりです。
ETag: "50b1c1d4f775c61:df3"
クエリ更新形式は次のとおりです:
If-None-Match: W/"50b1c1d4f775c61:df3"
ETag が変更されていない場合、ステータス 304 を返し、その後は返されません。これは Last-Modified と同じです。 。私は主にブレークポイントのダウンロード中に役立つように Etag をテストしました。
Last-Modified と Etag はパフォーマンスの向上にどのように役立ちますか?
賢い開発者は、Last-Modified と ETag リクエストの http ヘッダーを一緒に使用し、クライアント (ブラウザーなど) のキャッシュを活用できます。サーバーは最初に Last-Modified/Etag タグを生成するため、サーバーは後でそれを使用してページが変更されたかどうかを判断できます。基本的に、クライアントは、このトークンをサーバーに返すことによって、その (クライアント側) キャッシュを検証するようにサーバーに要求します。
プロセスは次のとおりです:
1. クライアントがページをリクエストします (A)。
2. サーバーはページ A を返し、Last-Modified/ETag を A に追加します。
3. クライアントはページを表示し、Last-Modified/ETag とともにページをキャッシュします。
4. クライアントはページ A を再度リクエストし、最後のリクエストでサーバーから返された Last-Modified/ETag をサーバーに渡します。
5. サーバーは Last-Modified または ETag をチェックし、最後のクライアント要求以降にページが変更されていないと判断し、応答 304 と空の応答本文を直接返します。
次の例では、サーバー側のコードを使用してクライアント側のキャッシュを操作する方法を説明します。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPFFmpeg拡張機能をサーバーにインストールするにはどうすればよいですか? PHPFFmpeg 拡張機能をサーバーにインストールすると、PHP プロジェクトでオーディオ ファイルとビデオ ファイルを処理し、オーディオ ファイルとビデオ ファイルのエンコード、デコード、編集、処理などの機能を実装できます。この記事では、PHPFFmpeg 拡張機能をサーバーにインストールする方法と、具体的なコード例を紹介します。まず、PHP と FFmpeg がサーバーにインストールされていることを確認する必要があります。 FFmpeg がインストールされていない場合は、以下の手順に従って FFmpe をインストールできます。

時間計算量は、入力のサイズに対するアルゴリズムの実行時間を測定します。 C++ プログラムの時間の複雑さを軽減するためのヒントには、適切なコンテナー (ベクター、リストなど) を選択して、データのストレージと管理を最適化することが含まれます。クイックソートなどの効率的なアルゴリズムを利用して計算時間を短縮します。複数の操作を排除して二重カウントを削減します。条件分岐を使用して、不必要な計算を回避します。二分探索などのより高速なアルゴリズムを使用して線形探索を最適化します。

PHP 開発では、キャッシュ メカニズムにより、頻繁にアクセスされるデータがメモリまたはディスクに一時的に保存され、データベース アクセスの数が削減され、パフォーマンスが向上します。キャッシュの種類には主にメモリ、ファイル、データベース キャッシュが含まれます。キャッシュは、組み込み関数またはサードパーティのライブラリ (cache_get() や Memcache など) を使用して PHP に実装できます。一般的な実用的なアプリケーションには、データベース クエリ結果をキャッシュしてクエリ パフォーマンスを最適化したり、ページ出力をキャッシュしてレンダリングを高速化したりすることが含まれます。キャッシュ メカニズムにより、Web サイトの応答速度が効果的に向上し、ユーザー エクスペリエンスが向上し、サーバーの負荷が軽減されます。

7 月 23 日のこの Web サイトのニュースによると、ASUS は AMD EPYC 4004 シリーズ プロセッサを搭載したさまざまなサーバーおよびワークステーション レベルの製品を発売しました。このサイトからのメモ: AMD は 5 月に AM5 プラットフォームと Zen4 アーキテクチャの EPYC 4004 シリーズ プロセッサを発売し、最大 16 コアの 3DV キャッシュ仕様を提供しました。 ASUSProER100AB6 サーバー ASUSProER100AB6 は、EPYC Xiaolong 4004 シリーズプロセッサーを搭載した 1U ラックマウント型サーバー製品で、IDC および中小企業のニーズに適しています。 ASUSExpertCenterProET500AB6 ワークステーション ASUSExpertCenterProET500AB6 は、

Go 分散システムでは、groupcache パッケージを使用してキャッシュを実装できます。このパッケージは、一般的なキャッシュ インターフェイスを提供し、LRU、LFU、ARC、FIFO などの複数のキャッシュ戦略をサポートします。グループキャッシュを活用すると、アプリケーションのパフォーマンスが大幅に向上し、バックエンドの負荷が軽減され、システムの信頼性が向上します。具体的な実装方法は以下の通りです。必要なパッケージのインポート、キャッシュプールサイズの設定、キャッシュプールの定義、キャッシュ有効期限の設定、同時値リクエスト数の設定、値リクエスト結果の処理を行います。

目次 Astar Dapp ステーキングの原則 ステーキング収益 潜在的なエアドロップ プロジェクトの解体: AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap ステーキング戦略と運用 「AstarDapp ステーキング」は今年初めに V3 バージョンにアップグレードされ、ステーキング収益に多くの調整が加えられましたルール。現在、最初のステーキング サイクルが終了し、2 番目のステーキング サイクルの「投票」サブサイクルが始まったばかりです。 「追加報酬」特典を獲得するには、この重要な段階を把握する必要があります (6 月 26 日まで続く予定で、残りは 5 日未満です)。 Astarステーキング収入を詳しく説明します。

タイトル: テンセントの主要なプログラミング言語は Go ですか: 詳細な分析 中国の大手テクノロジー企業として、テンセントはプログラミング言語の選択において常に多くの注目を集めてきました。近年、テンセントは主に Go を主要なプログラミング言語として採用していると考える人もいます。この記事では、Tencent の主要なプログラミング言語が Go であるかどうかについて詳細な分析を行い、この見解を裏付ける具体的なコード例を示します。 1. Tencent における Go 言語の適用 Go は、Google によって開発されたオープンソースのプログラミング言語であり、その効率性、同時実行性、シンプルさにより多くの開発者に愛されています。

PHP 関数の効率を最適化する 5 つの方法: 変数の不必要なコピーを避ける。参照を使用して変数のコピーを回避します。繰り返しの関数呼び出しを避けてください。単純な関数をインライン化します。配列を使用したループの最適化。
