PHP ファイルのヘッダー情報の詳細な紹介は、Programmer's Home がこれまでに見た中で最も詳細な記事です。これほど優れた記事を必要としている人は見逃さないでください。
phpファイルのヘッダー情報の詳しい説明。 1. 受け入れる: どのメディア タイプを受け入れるかを WEB サーバーに伝えます。*/* は任意のタイプを意味し、type/* はこのタイプ (type/sub-type) の下のすべてのサブタイプを意味します。 2. Accept-Charset: ブラウザは受け取る文字セットを宣言します。 Accept-Encoding: ブラウザは、受け取るエンコード方式を宣言します。通常は、圧縮方式、圧縮をサポートするかどうか、サポートする圧縮方式 (gzip、deflate) を指定します。 Accept-Language: ブラウザは、受け取る言語と文字セットの違いを宣言します。中国語は 1 つの言語であり、中国語には big5、gb2312、gbk などの複数の文字セットがあります。 3. Accept-Range: WEB サーバーは、エンティティの 1 つの一部 (ファイルの一部など) を取得するリクエストを受け入れるかどうかを示します。 バイト: 受け入れを示し、なし: 受け入れられないことを示します。 4. 経過時間: プロキシ サーバーが独自のキャッシュされたエンティティでリクエストに応答するとき、このヘッダーはエンティティが生成されてからの経過時間を示すために使用されます。 5. 認可: クライアントは WEB サーバーから WWW-Authenticate 応答を受信すると、このヘッダーを使用して自身の認証情報を WEB サーバーに応答します。 6. キャッシュ制御: リクエスト: キャッシュなし (エンティティをキャッシュせず、すぐに WEB サーバーから取得するようにリクエストします) max-age: (Age 値が max-age 値未満で、期限切れのオブジェクトがないオブジェクトのみを受け入れます) max-stale: (過去のオブジェクトを受け入れることができますが、有効期限は max-stale 値よりも短い必要があります) min-fresh: (最新の有効期間が現在の Age 値と min-fresh 値の合計より大きいキャッシュ オブジェクトを受け入れます) 応答: パブリック (キャッシュされたコンテンツを使用して任意のユーザーに応答できます) プライベート (キャッシュされたコンテンツは、以前にコンテンツを要求したユーザーへの応答としてのみ使用できます) no-cache (キャッシュ可能ですが、WEB サーバーで有効性を検証した後にのみクライアントに返すことができます) max-age: (この応答に含まれるオブジェクトの有効期限) ALL: ストアなし (キャッシュは許可されません) 7. 接続: リクエスト: 閉じる (このリクエストへの応答が完了した後に切断し、この接続に対する後続のリクエストを待たないよう、WEB サーバーまたはプロキシ サーバーに指示します)。 keepalive (このリクエストへの応答が完了した後も接続を維持し、この接続に対する後続のリクエストを待つように WEB サーバーまたはプロキシ サーバーに指示します)。 応答: close (接続が閉じられました)。 keepalive (接続は維持され、この接続に対する後続の要求を待機します)。 Keep-Alive: ブラウザがキープアライブ接続を要求した場合、このヘッダーは、WEB サーバーが接続を維持することが予想される時間 (秒単位) を示します。 例: キープアライブ: 300 8. コンテンツ エンコーディング: WEB サーバーは、応答内のオブジェクトを圧縮するために使用する圧縮方法 (gzip、deflate) を示します。 例: Content-Encoding: gzip コンテンツ言語: WEB サーバーは、応答するオブジェクトの言語をブラウザーに伝えます。 Content-Length: WEB サーバーは、ブラウザーに応答するオブジェクトの長さを伝えます。 例: Content-Length: 26012 Content-Range: WEB サーバーは、応答に含まれる部分オブジェクトがオブジェクト全体のどの部分であるかを示します。 例: Content-Range: バイト 21010-47021/47022 Content-Type: WEB サーバーは、ブラウザーに応答するオブジェクトのタイプを伝えます。 例: Content-Type: application/xml 9. ETag: オブジェクト (URL など) のフラグ値です。したがって、HTML ファイルなどのオブジェクトに関しては、その Etag の機能は変更されません。 ETag は Last-Modified とほぼ同じで、主に WEB サーバーによってオブジェクトが変更されたかどうかを判断するために使用されます。たとえば、前回 HTML ファイルをリクエストしたときに ETag が取得され、今回もファイルがリクエストされると、ブラウザは以前に取得した ETag 値を WEB サーバーに送信し、WEB サーバーはその ETag を Web サーバーに追加します。ファイルを現在の ETag と比較して、ファイルが変更されたかどうかを確認します。 10. 期限切れ: WEB サーバーは、エンティティの期限が切れる時期を示します。期限切れのオブジェクトは、WEB サーバーで有効性を確認した後、顧客のリクエストに応答するためにのみ使用できます。 HTTP/1.0のヘッダーです。例: 有効期限: 2009 年 5 月 23 日土曜日 10:02:12 GMT 11. ホスト: クライアントは、アクセスする WEB サーバーのドメイン名/IP アドレスとポート番号を指定します。 例: ホスト: rss.sina.com.cn 12. If-Match: オブジェクトの ETag が変更されていない場合、実際にはオブジェクトが変更されていないことを意味し、要求されたアクションが実行されます。 If-None-Match: オブジェクトの ETag が変更された場合、それは実際にはオブジェクトも変更されたことを意味し、要求されたアクションが実行されます。 13. If-Modified-Since: ヘッダーで指定された時間後に要求されたオブジェクトが変更された場合、要求されたアクション (オブジェクトを返すなど) が実行され、それ以外の場合はコード 304 が返されてブラウザーに通知されます。オブジェクトは変更されていません。 例: If-Modified-From: Thu, 10 Apr 2008 09:14:42 GMT If-Unmodified-Since: ヘッダーで指定された時間が経過しても要求されたオブジェクトが変更されていない場合、要求されたアクション (オブジェクトを返すなど) が実行されます。 14. If-Range: ブラウザは WEB サーバーに、要求したオブジェクトが変更されていない場合は不足している部分を提供し、オブジェクトが変更されている場合はオブジェクト全体を提供するように指示します。 ブラウザは、要求されたオブジェクトの ETag または既知の最終変更時刻を WEB サーバーに送信して、オブジェクトが変更されたかどうかを判断させます。常に Range ヘッダーとともに使用されます。 15. Last-Modified: WEB サーバーは、ファイルの最終変更時刻、動的ページの最終生成時刻など、オブジェクトの最終変更時刻を考慮します。例: Last-Modified: 火曜日, 06 May 2008 02:42:43 GMT 16. 場所: WEB サーバーは、アクセスしようとしているオブジェクトが別の場所に移動されたため、ヘッダーで指定された場所に移動してオブジェクトを取得することをブラウザーに伝えます。 17. Pramga: 主に、Cache-Control: no-cache と同等の Pramga: no-cache を使用します。 例: プラグマ: no-cache 18. プロキシ認証: プロキシ サーバーはブラウザに応答し、プロキシ認証情報の提供を要求します。 プロキシ認証: ブラウザはプロキシ サーバーの認証リクエストに応答し、独自の ID 情報を提供します。 19. 範囲: ブラウザー (マルチスレッド ダウンロード中の Flashget など) は、オブジェクトのどの部分を取得するかを WEB サーバーに伝えます。 例: 範囲: bytes=1173546- 20. リファラー: ブラウザは、現在のリクエストでどの Web ページ/URL を取得/クリックしたかを WEB サーバーに示します。 例: リファラー: http://www.sina.com/ 21. サーバー: WEB サーバーは、ソフトウェアとそのバージョンを示します。 例: サーバー: Apache/2.0.61 (Unix) 22. ユーザーエージェント: ブラウザーはそのアイデンティティー (どのブラウザーであるか) を示します。 例: ユーザーエージェント: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14 23. 転送エンコーディング: WEB サーバーは、チャンク化されているかどうかなど、応答メッセージ本文 (メッセージ本文内のオブジェクトではありません) をエンコードする方法を示します。 例: Transfer-Encoding: chunked 24. 変更: WEB サーバーは、このヘッダーの内容を使用して、この応答によって返されたオブジェクトを後続の要求に応答するために使用できる条件をキャッシュ サーバーに伝えます。ソース WEB サーバーが最初の要求メッセージを受信した場合、その応答メッセージのヘッダーは次のようになります。 Content-Encoding: gzip; Vary: Content-Encoding 次に、キャッシュ サーバーは後続の要求メッセージのヘッダーを分析し、その Accept-Encoding が前の応答の Vary ヘッダー値と一致しているかどうか、つまり同じコンテンツかどうかを確認します。エンコード方式が使用されるため、これにより、キャッシュ サーバーが独自のキャッシュ内の圧縮されたエンティティを使用して、解凍機能のないブラウザに応答することができなくなります。 例: 変更: Accept-Encoding 25. Via: クライアントから OCS への応答、またはその逆がどのプロキシ サーバーを通過するか、およびリクエストの送信にどのようなプロトコル (およびバージョン) が使用されるかをリストします。クライアントのリクエストが最初のプロキシ サーバーに到達すると、サーバーは送信するリクエストに Via ヘッダーを追加し、次のプロキシ サーバーが最初のプロキシ サーバーからリクエストを受信すると、Via ヘッダーをコピーします。送信するリクエストに前のプロキシ サーバーのリクエストを追加し、最後に独自の関連情報を追加するなど、OCS は最後のプロキシ サーバーのリクエストを受信すると、リクエストがたどったルートを確認します。 例: 経由: 1.0 236-81.D07071953.sina.com.cn:80 (squid/2.6.STABLE13)。 理論的な知識を学んだ後は、理論と実践を組み合わせて、ファイル ヘッダーに基づいてファイル タイプを決定することについてスクリプト スクールによって紹介されたいくつかの記事を参照できます。 興味がありそうな記事: php header()関数の例 phpヘッダー関数はファイルのダウンロードを実装します phpのheader関数の使い方 phpファイルダウンロードクラス(ヘッダー情報の応用例) PHPヘッダーの使い方を詳しく解説 phpヘッダー関数は、ファイルのダウンロード時に保存されたコードの入力を直接求めます phpヘッダー情報の例 PHPのHEADERヘッダーメッセージの詳細説明 PHPヘッダー関数のポイント |