PHP は Apache 環境で HTTP キャッシュ プロトコルの原理分析とアプリケーション分析を使用します
静的ページ用の Etag もあります。
1. 最初の状況を見てみましょう: Apache 静的ページ
Apache によってクライアントに送信される静的ページには、通常、これら 2 つのタグが含まれています。値は、静的ファイルの変更時刻と i ノードから取得されます。
以下は、Apache によってクライアントに返されるヘッダーのインターセプトです
XML/HTML コード
コードをコピーコードは次のとおりです。
Last-Modified: Fri, 26 Jan 2007 01:53:34 GMT
ETag: "3f9f640-318-cb9f8380"
検索エンジンが静的ファイルを好む理由 この 2 つのロゴにより、ファイルが更新されたかどうかが判断できます
2. PHP などの動的ページ
PHP は動的に生成され、その内容は PHP プログラムの時間に基づいて決定されるため、デフォルトでは、クライアントに戻るときに PHP にはキャッシュ制御が含まれません。キャッシュを有効に活用したい場合は、 b と s を削減し、帯域幅トラフィックを削減し、サーバー負荷を軽減するには、キャッシュ メカニズムを理解し、インタラクションを管理する必要があります。メリットはたくさんあります。
3. キャッシュ制御の具体的な意味
まず、私がテストして理解したこれらのタグの意味を説明します
キャッシュ制御: 指定しますリクエストとレスポンスが続くキャッシュ メカニズム。要求メッセージまたは応答メッセージで Cache-Control を設定しても、別のメッセージの処理中のキャッシュ プロセスは変更されません。リクエスト中のキャッシュ命令には、no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached が含まれ、応答メッセージ内の命令には、public、private、no-cache、no が含まれます。 -store、no-transform、must-revalidate、proxy-revalidate、max-age。
各メッセージの指示の意味は次のとおりです。
パブリックは、応答を任意のキャッシュ領域にキャッシュできることを示します。
プライベートは、単一ユーザーの応答メッセージの全部または一部が共有キャッシュで処理できないことを示します。これにより、サーバーは、他のユーザーのリクエストには無効なユーザーからの部分的な応答のみを記述することができます。
no-cache は、要求または応答メッセージをキャッシュできないことを示します。
no-store は、重要な情報が意図せずに公開されるのを防ぐために使用されます。リクエスト メッセージで送信すると、リクエスト メッセージと応答メッセージの両方でキャッシュが使用されます。
max-age は、クライアントが指定された時間 (秒) を超えない存続期間を持つ応答を受信できることを示します。
min-fresh は、クライアントが現在時刻に指定された時間を足したものよりも短い応答時間で応答を受信できることを示します。
max-stale は、クライアントがタイムアウト期間を超えて応答メッセージを受信できることを示します。 max-stale メッセージの値を指定すると、クライアントは指定されたタイムアウト期間の値を超える応答メッセージを受信する可能性があります。
php の使用法:
出力前に header() を使用します (ob_start() を使用する場合は、プログラム内のどこにでもヘッダーを配置できます)
PHP コード
コードをコピーします コードは次のとおりです:
header('Cache-Control: max-age=8'); >
Expires: キャッシュの有効期限が切れる絶対時間。指定された時点を過ぎると、ブラウザはキャッシュを認識せず、サーバーにアクセスして最新のキャッシュを再度リクエストします。
Last-Modified: ドキュメントの最終変更時刻は次のとおりです。 1
静的ファイルの場合、クライアントはキャッシュ内の時刻を送信し、Apache は時刻を送信します。変更がないことが判明した場合は、ステータス コードが 304 で、バイト数が非常に少ないため、ヘッダーが直接返されます (上級バージョンでは、ファイルに変更があるかどうかを判断するための比較 Etag も追加されます)。変更されました)
2 PHP 動的ファイル:
クライアントは比較時間を送信し、PHP がそれを変更するかどうかを決定します。変更時間が同じ場合、1024 バイトのみが返されます。なぜ 1024 が返されるのかは不明ですが、PHP で生成されたファイルが非常に大きい場合は 1024 のみが返されるため、クライアントは送信された変更時刻に基づいてキャッシュ ファイルから自動的に表示します。サーバー。
注: Cache-Control と Expires は Last-Modified ヘッダーなしでも機能しますが、各リクエストは 1024
4 ではなく、実際のファイル バイト数を返す必要があります。
静的ページのキャッシュをより適切に制御したい場合、Apache には適切に制御できるモジュールがいくつかありますが、ここでは説明しません
php ページ:
ここには 2 つのタイプがあります:
1. ニュースリリースと同様、頻繁に変更されないページ。最初のリリース後、何度か変更を加えても、基本的には時間が経っても修正されません。制御戦略は次のとおりです。 1. 最初のリリースに対して Last-Modified を送信し、max-age を 1 日に設定し、変更後に Last-Modified を更新します。max-age 時間は変更の数に応じて通常になります。これはさらに面倒に思えますが、変更の数を記録する必要があります。次に変更される可能性のある時刻を予測し、Expires を使用して
PHP コード
コードをコピー コードは次のとおりです: コードをコピー コードは次のとおりです。 コードをコピー コードは次のとおりです: キャッシュ制御: no-キャッシュ
//header('Cache-Control: max-age=86400');// 1 日分のキャッシュ
header('Expires: Mon, 29 Jan 2007 08:56:01 GMT') ;/ /有効期限を指定します
header('Last-Modified: '.gmdate('D, d M Y 01:01:01',$time).'GMT');//グリニッジ時間、$time はファイルが追加された時刻 タイムスタンプ
2 頻繁に変更されるページ
は、BBS やフォーラム プログラムに似ており、キャッシュの主な機能は、更新を高速化することです。ユーザーが頻繁にリストを更新してサーバーに負荷をかけることは避けられます。データベースへの負担は、更新の適時性を確保するだけでなく、キャッシュを確実に利用できるようにする必要があります。
これは通常、キャッシュ制御によって制御されます。 max-age は、フォーラムへの投稿頻度に応じて柔軟に制御できます。
PHP コード
header('Cache-Control: max-age =60');//1 分間キャッシュします
header('Last-Modified: '.gmdate('D, d M Y 01:01:01',$time).'GMT');/ /グリニッジ時間、$time は投稿の最終更新タイムスタンプです
追加の 5 つ
1 更新、移動、強制更新の違い
ブラウザ 一部のブラウザでは、Ctrl F5 を使用してページを強制的に更新できます。これらの違いは何ですか?
Go to: ユーザーがリンクをクリックすると、そのリンクに移動します。Last-Modified がある場合は、サーバーと通信しません。キャプチャ ツールを使用して、送信されたバイトが 0 バイトであることを確認します。キャッシュの有効期限が切れると、F5 リフレッシュ アクションが実行されます。
更新 (F5): この更新も、キャッシュに最終更新日時があるかどうかに基づいて決定され、最終更新時刻がない場合は 304 または 1024 (php) に転送されます。サーバーにアクセスして読み取り、真の値を返します。 ドキュメント サイズ
強制更新: キャッシュ メカニズムを完全に放棄し、サーバーにアクセスして最新のドキュメントを読み取り、次のようにヘッダーをサーバーに送信します。 🎜>
XML/HTML コード
ブラウザーの表示とサーバー インタラクションのためのより優れたツールは httpwatch pro (現在のバージョン 4.1) で、ie7 をサポート
他にもプロキシ パケットがあります分析できるキャプチャ ツール、http デバッグ。これまで使用したことはありませんでしたが、2000 に付属のネットワークである tcp パケット キャプチャ ツールもあります。 2000 に付属のネットワーク モニタは http 専用ではありませんが、使い方が難しいです。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。
