6.1 見出しの種類

http リクエスト ヘッダーは、実際には http クライアントと http サーバーのサービス情報です。しかし、それは非常に重要であり、まったく理解していないと、それはしばしば横道に逸れてしまいます。したがって、少なくともそれらについて読んでください。

すべての http ヘッダーは 4 つの主要なグループに分類できます。

# ヘッダーの種類 説明 ノート
1 一般的なヘッダー 一般的な見出し リクエストとレスポンスで使用されます
2 リクエストヘッダー リクエストヘッダー リクエスト内でのみ使用されます
3 応答ヘッダー 応答ヘッダー 応答でのみ使用されます
4 エンティティヘッダー エンティティヘッダー 各メッセージ エンティティを伴う

6.2 ユーザーエージェント

最も重要で一般的なヘッダーはUser-Agentです。これは、どのクライアントがサーバーにリクエストを行っているかを説明する特別な文字列です。こちらはお客様のお名前です。

多くの場合、サーバーは要求者に合わせて応答をわずかに調整します。たとえば、リクエストが携帯電話のブラウザから送信されたものであることがリクエストから明らかな場合は、HTML ページのモバイル バージョンを与えることができます。

スパムボット、ダウンロード マネージャー、および一部のブラウザーが偽のユーザー エージェント文字列を送信して、正規の顧客を装うことは珍しいことではありません。この状況は、ユーザー エージェント スプーフィングまたはユーザー エージェント スプーフィングとして知られています。

たとえば、私のユーザーエージェントは次のようになります。

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

これには、ブラウザ、オペレーティング システム、およびブラウザの Web エンジンに関する情報が含まれます。

6.3 コンテンツタイプ

2 番目に人気のあるヘッダーはContent-Typeです。これは、サーバーが提供するリソースの MIME タイプを決定するために使用されます。

インターネットの黎明期であっても、送信されるメディア コンテンツの種類は便宜上標準化されていました。これらはインターネット メディア タイプ、または略してMimeTypeと呼ばれます。それらは 9 つのカテゴリに分類されます。

  • 応用
  • オーディオ
  • 画像
  • メッセージ
  • モデル
  • マルチパート
  • 文章
  • ビデオ

例:

カテゴリー タイプ 説明
オーディオ オーディオ/MP4 mp4形式の音声ファイル
オーディオ/AAC AAC音声ファイル
画像 画像/GIF gif画像
画像/jpeg jpeg画像
画像/png 画像png
文章 テキスト/CSS CSSファイル
テキスト/html HTMLファイル
ビデオ ビデオ/mpeg mpeg形式のビデオファイル
ビデオ/ウェブサイト WebM形式のビデオファイル
ビデオ/3gpp 3gpp形式のビデオファイル
応用 application/x-www-form-urlencoded エンコードされたデータ
アプリケーション/zip ZIP アーカイブ
アプリケーション/JavaScript JavaScript
アプリケーション/xml XML

通常、サーバーはどのようなデータを提供するかを知っています。ただし、独自のコードでサーバー応答を生成する場合は、サーバーの応答タイプ (Content-Type) を指定する必要があります。

6.4 コンテンツの長さ

このヘッダーはサーバーの応答の長さを指定します。簡単に言うと、指定されたファイルのサイズです。このオプションを手動で設定する必要はありません。何らかの理由ですべての答えが得られなかった場合は、サーバーが提供した内容を確認することは役に立ちます。

6.5 エンコーディングの受け入れ

このヘッダーを使用すると、クライアントはさまざまなコンテンツ圧縮アルゴリズムをサポートしていることをサーバーに示すことができます。したがって、サーバーは最初にコンテンツをたとえば zip アーカイブでアーカイブし、それからクライアントに送信することができ、クライアントは元のコンテンツを正しく復元できます。

アーカイブの利点は、ファイルが小さいほど転送が速くなることです。アーカイブの短所 - クライアントとサーバーの追加負荷。アーカイブは、大きなファイルを転送する場合には意味がありますが、小さなファイルを転送する場合には意味がないことがよくあります。

このようなヘッダーの例は次のとおりです。

Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

ここでdeflate、 と はgzipサポートされているデータ圧縮アルゴリズムであり、q圧縮の程度を示します。