メインコンテンツまでスキップ

HTTP通信

HTTPHyperText Transfer Protocolの略であり、クライアントサーバモデルに則った通信方式の一つである。 主にHTMLやJSONなどを扱うことが多いが、拡張が可能であり、そのため様々なデータを扱うことが可能。

備考

皆さんがみているWebサイトなども、このHTTP通信によってHTMLやCSSなどのファイルを取得してきている。

HTTPメッセージ

クライアントとサーバが送り合うデータのこと。 クライアントが最初にサーバに対してリクエストと呼ばれるHTTPメッセージを送信する。そのメッセージに従ってサーバは処理を行い、最終的な結果やデータをレスポンスというHTTPメッセージとして送信する。

リクエスト

HTTPリクエストとはクライアントからサーバーに送る情報のことである。

  • 開始行 (必須)
    • HTTPメソッド(後述)
    • URL
    • HTTPバージョンなど
  • ヘッダー (必須ではない)
    • ボディの形式の指定
    • 認証情報など
  • ボディ (必須ではない)
    • リクエストの本文

レスポンス

サーバーがクライアントに返す情報。大きく分けて3つの要素から成る

  • 開始行
    • HTTPバージョン
    • ステータスコードなど
  • ヘッダー (必須ではない)
    • ボディの形式の指定
    • キャッシュの有効期限など
  • ボディ (必須ではない)
    • レスポンスの本文

HTTPメソッド

HTTPメソッドは、リソースに対して実行したいアクションを示す一連のリクエストメソッドを定義しています(MDNより)

つまり、URLでアクセスしたいリソースを指定し、メソッドでそれに対し何を行うかを指定する。

主に使うのは5つ(他にもある)

  • GET
    • 主にリソースの取得に使われる
  • POST
    • 主にリソースの送信に使われる
  • PUT
    • 主にリソース全体の置き換えに使われる
  • PATCH
    • 主にリソースの部分的な置き換えに使われる
  • DELETE
    • 主にリソースの削除に使われる