ページ

2012-06-16

[web]”ろぐほAPI”のContent-Typeを”application/json”にした[php]

"ろぐほAPI"のContent-Type(mime type)を、"application/json"にしました。

今までは、"text/html"で返していました。まずかったです。

Content-Typeとは、これから受信するデータの種類を教えてくれる情報です(いわば、データのデータです)。

インターネットに使うブラウザは受信データに含まれる、"Content-Type"を調べてデータをどのように扱うかを決めます。


今回は、以下の2点について説明したいと思います。
  1. "ろぐほAPI"を記述している、PHPでどのように"Content-Type"を指定するか?
  2. なぜ"Content-Type"を"application/json"にしたのか?

どのようにして、"Content-Type"を指定するか?


PHPでは、特に何もしないと"Content-Type"は"text/html"になります。

PHPで任意の"Content-Type"を指定するには
header("Content-Type: type/subtype");
と書きます。

type/subtypeにはメディアタイプと言われる情報
  • text/html
  • text/plain
  • image/jpeg
  • application/json
  • 等…
を書きます。

今回は、JSON形式なので
header("Content-Type: application/json");
と書きます。

また文字コード(charset)をutf-8に指定したいので、最終的に
としました。

なぜ、"application/json"にしたのか?


JSONのRFCである"RFC 4627"で
The MIME media type for JSON text is application/json.
と書かれていたからです。

"rfc json"でググるとJSONのRFCが出てくるので、その中で"mime"とページ内検索すると分かります。

RFCとはインターネット上の色々な技術仕様などをまとめた、誰でも読める文章です。

IT関係では「なぜ、そうしたのか?」と聞かれた時に
「RFCに書かれていたからです。」と答えると、なかなかいい感じです。

RFCの文章は英語で書かれていますが、日本語で翻訳したサイトがあるので気になったときはちょっと見てみるといいと思います。
http://www.studyinghttp.net/

0 件のコメント:

コメントを投稿