HTTPリクエストヘッダはサーバーに対してそのリクエストの詳細な情報やクライアントの意図、要求などを伝える役割があります。本文では、HTTPリクエストヘッダで利用できるフィールドの一覧を皆さんに紹介した上、Apidogという非常に使いやすいツールを使って、リクエストの送信時にリクエストヘッダを定義して送信する方法を皆さんに紹介します。
HTTPリクエストヘッダとは
HTTPリクエストヘッダとは、クライアントからサーバーに送信されるHTTPリクエストメッセージの先頭部にあるヘッダーセクションのことを指します。
HTTPリクエストヘッダの役割
それでは、HTTPリクエストヘッダはどのような役割を果たしていますか?次は、HTTPリクエストヘッダの主な役割を皆さんに紹介します。

クライアントの情報をサーバーに伝える
- User-AgentやAccept-Languageなどのヘッダーがこれに該当
リクエストの内容や形式を特定する
- Content-TypeやAcceptなどのヘッダーがこれに該当
認証やセッション管理に関する情報を伝達する
- CookieやAuthorizationヘッダーがこれに該当
リクエスト本文の大きさや形式を特定する
- Content-LengthやContent-Encodingなどがこれに該当
クライアントが希望するレスポンスの形式を指定する
- AcceptやAccept-Encodingなどがこれに該当
つまり、リクエストヘッダはサーバーに対してそのリクエストの詳細な情報やクライアントの意図、要求などを伝える役割があると言えます。サーバー側でその情報をもとに適切なレスポンスを生成することができるために重要な意味を持っています。
HTTPリクエストヘッダ一覧
それでは、実際にHTTPリクエストを送信する時に、利用可能なHTTPリクエストヘッダは何ですか?次は、主なHTTPリクエストヘッダを皆さんに紹介します。主なHTTPリクエストヘッダの一覧は以下の通りです。
HTTPリクエストヘッダーの一覧表:
HTTPリクエストヘッダ | 説明 |
---|---|
Accept | クライアントが受け入れ可能なメディアタイプ |
Accept-Charset | クライアントが受け入れ可能な文字セット |
Accept-Encoding | クライアントが受け入れ可能なエンコーディング |
Accept-Language | クライアントが受け入れ可能な自然言語 |
Authorization | HTTP認証Token |
Cache-Control | キャッシュ動作の指定 |
Connection | 現在の接続に関するオプション |
Content-Length | リクエストボディの長さ |
Content-Type | リクエストボディのメディアタイプ |
Cookie | クライアントのCookie |
Date | リクエスト発行の日付時刻 |
Expect | 特定のサーバー動作が必要な場合の通知 |
From | メールアドレス |
Host | リクエストURIのホスト名とポート番号 |
If-Match | 条件付きリクエストのETag |
If-Modified-Since | 条件付きリクエストの日時 |
If-None-Match | 条件付きリクエストのETag |
If-Range | 条件付きリクエストのETag |
If-Unmodified-Since | 条件付きリクエストの日時 |
Origin | CORSアクセスのオリジン |
Range | 取得する範囲 |
Referer | 前のWebページのアドレス |
TE | リクエストが転送エンコーディングを受け入れるかどうか |
User-Agent | リクエストソフトウェアのユーザーエージェントの文字列 |
HTTPリクエストヘッダーの例
HTTPリクエストヘッダーとは、HTTPリクエストメッセージの一部で、リクエストに関する付加的な情報を提供するものです。リクエストの種類や目的に応じて、上記のような様々なヘッダーが使用されます。
HTTPリクエストヘッダーの具体的な送信例です。
GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: ja,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-None-Match: W/"62f1-5e4f6cc27b930"
If-Modified-Since: Thu, 20 Apr 2023 02:29:55 GMT
Cache-Control: max-age=0
このリクエストは、www.example.com
のルート(/
)にGETリクエストを送信しています。
Host
ヘッダーでは、リクエスト先のホスト名を指定しています。User-Agent
ヘッダーでは、リクエストを送信したブラウザの情報を示しています。Accept
ヘッダーでは、受け入れ可能なコンテンツタイプを示しています。Accept-Language
ヘッダーでは、優先する言語を示しています。Accept-Encoding
ヘッダーでは、受け入れ可能なコンテンツエンコーディングを示しています。Connection
ヘッダーでは、持続接続を要求しています。Upgrade-Insecure-Requests
ヘッダーは、HTTPSへのアップグレードを要求しています。If-None-Match
およびIf-Modified-Since
ヘッダーは、クライアントにキャッシュされた前のレスポンスのETagとLast-Modified時刻を示し、リソースが変更されていない場合は304 Not Modifiedレスポンスを受け取ることを意味しています。Cache-Control: max-age=0
ヘッダーは、キャッシュを無効にし、常に最新のレスポンスを取得するよう要求しています。
このようにHTTPリクエストヘッダーでは、リクエストに関する様々な情報を送信することができます。
ApidogでHTTPリクエストヘッダを設定して送信
それでは、HTTPリクエストを送信するときに、HTTPリクエストヘッダを定義するにはどうしたら良いですか?次は、ApidogというAPIクライアントツールを使って、簡単にHTTPリクエストヘッダを定義した上、HTTPリクエストを送信する方法を皆さんに紹介します。Apidogは、HTTPプロトコルに完璧に互換しているため、リクエストを送信するときに、ヘッダーを編集したり、リクエストヘッダーとレスポンスヘッダーを確認したりすることが簡単に実現されています。
それでは、次のステップを参照して、ApidogでHTTPリクエストヘッダを定義した上、送信してください。
リクエストヘッダーの設定
ステップ⒈Apidogを開き、HTTPプロジェクトを新規に作成します。

ステップ⒉「+」ボタンをクリックして、リクエストを新規に作成し、必要なリクエスト情報を記入して、「Headers」タブに切り替えます。ここで、「パラメータ名」の入力ボックスをクリックすると、頻繁に利用されるHTTPリクエストヘッダのフィールドが事前に用意されるので、そこから必要なパラメータを選択して、パラメータ値を入力するだけです。また、必要なヘッダが見つからない場合は、手動入力で自分でHTTPリクエストのヘッダ情報をカスタマイズすることも可能です。

まとめ
この記事では、HTTPリクエストヘッダの一覧と共に、実際にリクエスト送信時のヘッダ設定方法について解説しました。HTTPリクエストの送信時に、リクエストヘッダを設定する必要がある場合、APIクライアントツールのApidogを使うのが特に便利です。Apidogを使えば、目的に応じて柔軟にヘッダ設定のカスタマイズが可能です。HTTPリクエストの作成・送信にApidogを活用してみてください。