サーバーへデータを送信する際にコンテンツタイプという言葉を見ることがあります。
よく使用されているのは text/plain や application/json でしょうか。
今回はコンテンツタイプについて簡単に整理と説明をします。
目次
コンテンツタイプとは
サーバへリクエストを送信する際の内容のタイプです。
ざっくりいうと、「これは画像です。」とか、「これはテキストです。」とかです。
コンテンツタイプの構成
コンテンツタイプの構成は以下の通りです。
・構成
タイプ名/サブタイプ名
タイプ名:データの種類
サブタイプ名:具体的なデータの形式
・タイプに指定できるものの例
text、image、video、audio、application、multipart
タイプの種類
大きく以下のように分類できます。
・公式なコンテンツタイプ
・非公式なコンテンツタイプ
・ベンダー独自のコンテンツタイプ
・データ形式が不明なコンテンツタイプ
公式なコンテンツタイプ
コンテンツタイプはIANAが管理しています。IANAが管理しているコンテンツタイプが公式なコンテンツタイプとなります。
IANAは簡単にいうと、インターネット上のグローバルIPアドレスやドメインなどを管理している組織になります。コンテンツタイプも管理しています。
以下に、IANAが管理する公式なコンテンツタイプの一覧が表記されたページのリンクを載せます。
数が多すぎです。
非公式なコンテンツタイプ
IANA管理していないコンテンツタイプが非公式なコンテンツタイプになります。
サブタイプのプレフィックスに x- が表記されます
・例 (LZH圧縮ファイルの場合)
application/x-lzh
ベンダー固有のコンテンツタイプ
ベンダー固有のコンテンツタイプはサブタイプのプレフィックスに vnd. が表記されます。
ベンダー固有のコンテンツタイプもIANAで管理されています。
データ形式が不明なコンテンツタイプ
データ形式が不明だったり、任意のバイナリファイルの場合は以下のコンテンツタイプになります。
・形式が不明なコンテンツタイプ
application/octet-stream
最後に
コンテンツタイプの全てを覚える必要はありません。
公式なもの(text/plain や application/json)、非公式なもの(x-)、ベンダー管理なもの(vnd.)、不明なもの(application/octet-stream)というくらいで覚えておけば良いかと思います。