Content-Type Inspect

HTTPヘッダー/経路情報をブラウザ内で整理・診断します。入力はサーバーへ送信しません。観測差分の一次切り分けに使えます。

状態

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

Content-Type を貼り付けて「解析」。MIMEタイプとパラメータを一覧表示します。

注意(このツール)

  • Content-Type: のヘッダー行でも解析できます。

このページについて

何をするツール?

Content-Type ヘッダーを分解し、MIMEタイプとパラメータ(charset/boundary など)を一覧表示します。

APIレスポンスやファイル配信の不具合切り分けに向きます。

Content-Type の基本

  • MIMEタイプは「type/subtype」(例: application/json)です。
  • charset は文字エンコーディングを指定します。
  • multipart/form-data には boundary が必要です。

構文(読み方)

Content-Type は「MIMEタイプ; key=value; key=value...」の形です。先頭がMIMEタイプで、その後ろにパラメータが続きます。

  • application/json; charset=utf-8
  • text/html; charset=UTF-8
  • multipart/form-data; boundary=----...

なぜMIMEタイプが重要?

MIMEタイプは、ブラウザやクライアントが「どう解釈するか」を決める重要なヒントです。間違うと表示/ダウンロード/パースが想定とズレます。

  • APIがHTML(text/html)で返っている → 実はエラーページ
  • JSONなのに charset が変で文字化けする

使いどころ

  • JSONなのに text/html として返っている
  • ファイルダウンロードが壊れる/文字化けする
  • フォーム送信の boundary が合わずサーバーが解析できない

パラメータの例

  • text/html; charset=UTF-8
  • application/json; charset=utf-8
  • multipart/form-data; boundary=----WebKitFormBoundary...

charset(文字コード)の考え方

テキスト系のレスポンス(text/* や HTML/CSVなど)では charset 指定が重要です。未指定だとクライアント側の推測に依存し、文字化けの原因になります。

  • HTML: text/html; charset=UTF-8
  • CSV: text/csv; charset=UTF-8

multipart と boundary

multipart/form-data はフォーム送信やファイルアップロードで使われます。boundary は本文の区切り文字列で、ヘッダーと本文が一致しないとサーバー側で解析できません。

  • 手書きで組む場合、boundaryを本文にも反映する必要がある
  • 通常はブラウザ/HTTPライブラリが自動生成する

よくある落とし穴

  • charset が未指定で文字化けする
  • MIMEタイプが間違っていてブラウザが誤解釈する
  • boundary が一致せず multipart の解析に失敗する

切り分け手順(おすすめ)

  • DevTools/ログから Content-Type をコピーして解析
  • 期待するMIMEタイプ/charsetと一致しているか確認
  • multipartならboundaryの有無と整合を確認
  • HTTP Header Parser:ヘッダー一覧からContent-Typeを取り出す
  • Request Headers Parser:送信側のContent-Type(フォーム送信など)確認
  • JSON Formatter/JSONC Formatter:JSONの整形・検証

このツールでできること

  • MIMEタイプの抽出
  • charset/boundary などのパラメータ表示
  • 入力の正規化と一覧化

注意(運用)

  • 中継機器でヘッダーが書き換わることがあります。取得地点を揃えて比較してください。
  • 最終判断はサーバーログと設定(信頼プロキシ、ルーティング)で確認してください。

参照仕様

  • RFC 9110(HTTP Semantics)
  • RFC 2045/2046(MIME)

FAQ

charsetは必須?

テキスト系では明示すると安全です。JSONはUTF-8が一般的ですが、明記するとトラブルを避けられます。

multipart/form-dataのboundaryはどこから?

クライアント(ブラウザ/ライブラリ)が自動生成します。本文の区切りと一致している必要があります。

application/json と text/json の違いは?

一般的には application/json が推奨です。環境によって扱いが異なる可能性があるため、標準的なMIMEタイプを使うのが安全です。

参考リンク

  1. RFC 9110
  2. RFC 2046
  3. MDN: Content-Type
  4. MDN: MIME types

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. X-Content-Type-Options Inspect — X-Content-Type-Options を解析して nosniff を確認
  2. Response Headers Parser — レスポンスヘッダーを構造化解析
  3. HTTP Header Parser — 生ヘッダーを構造化して一覧化
  4. Link Header Inspect — Link ヘッダーを解析して rel/as/type を確認
  5. Security Headers Audit — 主要セキュリティヘッダーの有無を一括監査
  6. nosniffでJS/CSSがブロックされる時の診断手順 — Content-Type と nosniff の不一致、404/302混入、配信経路の上書きを切り分ける
  7. Response Headers系ツールの使い分け — Retry-After / Server-Timing / Link / Content-Type / nosniff を症状別に切り分ける
  8. Set-Cookie Builder — 属性付き Set-Cookie ヘッダーを生成

レスポンスヘッダー診断

生ヘッダーから Retry-After / Server-Timing / Link / Content-Type を段階的に解析