

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
acceptとContent-Typeの基本を一問一答で整理
HTTP にはさまざまなヘッダがありますが、中でも重要な2つが accept と Content-Type です。accept はクライアント側の希望を伝えるヘッダで、サーバーがどの形式のデータを返せるかをやりとりします。一方 Content-Type は送るデータの実際の形式を伝えるヘッダで、サーバーが受け取るデータの種類を認識するために使われます。例えばウェブブラウザが web ページを要求するときは Accept に text/html が含まれ、サーバーは HTML を返します。API へ JSON を送るときは Content-Type に application/json を指定します。Accept と Content-Type は別々の目的を持つものですが、実際の挙動はクライアントの実装やサーバーの設定によって左右されるため、設計時には両方を正しく理解しておくことが大切です。
ここで覚えておくべき基本は Accept は受け取りたい形式の希望を伝えること、Content-Type は送るデータの実際の形式を示すこと の二点です。これだけを押さえておけば、ほとんどの誤解やトラブルを未然に防ぐことができます。さらに、この二つがどの場面でどう使われるのかを具体的に知ると、API だけでなく日常のウェブ通信にも応用できる力が身につきます。
実務的には、Accept が複数の形式を受け付けるときと、Content-Type が不正な形式で送られてくるときの挙動を理解することが重要です。例えば、ウェブ API を利用する場合、クライアントは Accept に複数の MIME タイプを列挙することがあります。サーバーはその中から適切な形式を選んで返しますが、もしサーバーがその形式をサポートしていなければ 406 Not Acceptable というエラーを返すことがあります。一方、ボディを伴うリクエストでは Content-Type が必須であり、JSON を送るなら Content-Type は必ず application/json を設定します。これを怠るとサーバーはデータを正しく解釈できず、エラーやデータの破損につながります。サーバー側の設定とクライアント側の指定が噛み合うかどうかが、通信の要点です。このセクションを読んでおくと、API の設計や利用時に混乱を避けやすくなります。
表で見ると分かりやすいことも多いです。次の表は Accept と Content-Type の役割を簡単に比較したものです。
用途 | 例 | 説明 |
---|---|---|
Accept | application/json | サーバーに対して受け取りたいデータ形式を伝える |
Content-Type | application/json | 送るデータの形式を伝える。ボディがある場合に必須 |
この表を頭の中に置いておくと、実際のやり取りで迷いにくくなります。
今日は content-type の話を友達と雑談する感覚で深掘りしてみるね。Content-Type はデータの“何者か”を教えるラベルみたいなものだと考えると分かりやすい。たとえば JSON なら content-type は application/json、画像なら image/png、フォームデータなら multipart/form-data。Accept は逆に“受け取りたい形式の希望”を伝えるメモのような役割。二人三脚でやりとりを成功させるには、この二つの性質を混同せずに使い分けることが大切だよ。話の中でよくあるズレは、送信データの形式と受け取り希望が合っていないケース。そんな時は相手の仕様をもう一度確認して、Content-Type と Accept をそろえるだけで解決することが多いんだ。さあ、次の API 呼び出しではこの二つを意識してみよう。