2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【まとめ】HTTPヘッダーの基本と実務Tips|Webエンジニア必携リファレンス

2
Last updated at Posted at 2025-09-07

はじめに

こんにちは!😆 おさわです。

今回は、HTTPヘッダーの基本についてまとめました。

Webアプリ開発では、ヘッダーを意識せずに動くことは多いけれど、実務で性能・セキュリティを最適化するには理解が必須です。

この記事では、主要なHTTPヘッダーを整理し、次回以降でテーマごとに深掘りしていきます!

HTTPヘッダーとは

HTTPヘッダーとは、ウェブブラウザ(クライアント)とウェブサーバー間でのHTTP通信において、リクエストやレスポンスに付加されるメタデータ(付加情報)です。
リクエストの内容やクライアント・サーバーの意図、データの形式やエンコード方式など、通信を制御するための詳細な情報が含まれ、効率的で正確なデータ送受信のために重要な役割を担います。

実際のリクエスト/レスポンス例

👇リクエスト
GET /dashboard HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: application/json
Authorization: Bearer abcdef12345
Cookie: sessionId=xyz987

👇レスポンス
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-cache
Set-Cookie: sessionId=xyz987; HttpOnly; Secure

HTTPヘッダーの種類

HTTPヘッダーは、その役割によって複数のカテゴリに分けられます。

1. リクエストヘッダー

クライアントがサーバーに送信するリクエストに関する情報です。

種類 用途
Host リクエストされたサーバーのホスト名 Host: example.com
User-Agent クライアントのソフトウェア情報 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept クライアントが受け入れ可能なメディアタイプ Accept: application/json
Authorization Bearerトークン、Basic認証などで使用 Authorization: Bearer abcdef12345
Cookie セッションIDやユーザー追跡に利用 Cookie: sessionId=xyz987

 ※Authorization と Cookie は両方セッション管理に使いますが、役割が違います。
(次回以降で詳細)

Authorizationの例
Authorizationは、クライアントがサーバーにアクセスするための認証情報を送信するヘッダーです。

Basic認証
Authorization: Basic dXNlcjpwYXNzd29yZA==
Bearerトークン(OAuth2, JWTなど)
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

2. レスポンスヘッダー

サーバーがクライアントに返信するレスポンスに関する情報です。

種類 用途
Content-Type 返信ボディのメディアタイプ Content-Type: application/json; charset=utf-8
Location リダイレクト先のURL Location: https://example.com/login
Server サーバーの種類やバージョン情報 Server: nginx/1.23.1
Set-Cookie サーバーがクライアントにCookieを設定 Set-Cookie: sessionId=xyz987; HttpOnly; Secure
Cache-Control キャッシュ制御ヘッダー Cache-Control: no-cache, no-store, must-revalidate
ETag リソースのバージョン識別子 ETag: "abc123"

※Cache-Control と ETag の組み合わせで効率的に通信することもできます。
(次回以降で詳細)

Set-Cookieの属性
Set-CookieはサーバーからクライアントへCookieを保存するよう指示するヘッダーです。
セッション管理やトラッキングに利用されます。

属性一覧👇

属性 説明
HttpOnly JavaScriptからアクセス不可(XSS対策)
Secure HTTPS通信でのみ送信
SameSite クロスサイトリクエスト時の送信制御
Set-Cookie: sessionId=abc123; HttpOnly; Secure; SameSite=Strict

3. 表現ヘッダー

メッセージ本体(ボディ)のデータに関するメタデータです。

ヘッダー 用途
Content-Encoding 圧縮方式を指定 gzip
Content-Length 本文のバイト数 Content-Length: 3495
Content-Language 本文の言語 ja, en-US
Last-Modified リソースの最終更新日時 Wed, 21 Oct 2015 07:28:00 GMT

開発でよく使うヘッダーまとめ

カテゴリ ヘッダー 主な用途
認証/認可 Authorization, Cookie ログインセッション管理
キャッシュ制御 Cache-Control, ETag 通信効率化
セキュリティ強化 Set-Cookie属性, X-Frame-Options 攻撃対策
コンテンツ制御 Content-Type, Content-Encoding 本文の形式・圧縮指定

よく使うヘッダーの実務Tips

  • Authorization
    → API設計では「ヘッダーで送る」のが基本。URLパラメータで送るのは危険。

  • Cache-Control
    → no-store と no-cache の違いを明記すると、「キャッシュ効かないはずなのに…」問題を避けられる。

  • ETag
    → If-None-Match と組み合わせて「差分更新」を実現できる。

  • Content-Type
    → JSON API なら application/json; を忘れずに。

あとがき

今回は、Webアプリ開発で使われるHTTPヘッダーの基本についてまとめました。

他にも、セキュリティ系のヘッダーがあったりします。
例:

  • X-Frame-Options(クリックジャッキング対策)
  • Strict-Transport-Security(HSTS)
  • X-Content-Type-Options: nosniff

これらはセキュリティ強化に直結するので次回詳しく掘り下げます!💪

👉 次回:セキュリティヘッダー編はこちら(準備中)

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?