HTTPについて

部活の一年生向けにつくった資料です

HTTPとは?

Hypertext Transfer Protocol の略

ブラウザとWebサーバ間でデータを通信するためのプロトコル

特徴

  • サーバ・クライアントによるリクエスト・レスポンス通信
  • ステートレス(クライアントの状態を保持しない)

リクエスト・レスポンス

HTTPリクエス

クライアントからサーバへの要求メッセージのこと

HTTPレスポンス

HTTPリクエストを受けたサーバがクライアントに返す応答メッセージのこと

ステートレス

サーバがクライアントの状態(State)を管理しない(Less)

メリット

  • サーバを複数台にしたとき、どのサーバにリクエストを送っても同じレスポンスを返すことができるので増設しやすくなる(スケーラビリティがよくなる)
  • 処理がクライアントの状態に依らないのでシンプルになる

    デメリット

  • 同じクライアントが同じサーバと通信するときは同じようなデータを毎回リクエストとして送信するので通信のムダが多くなる
  • 状態を保持していないのでエラーが起きたときの対応が複雑になりがち

メソッド

そのリクエストが何を意味するかを表す GET, POST(, PUT, DELETE)くらい覚えておけば大丈夫

GET

指定されたURIのリソースを取り出す HTTPの最も基本的動作

Webページを開くときなど、サーバ上のリソース(ここではWebページ)を要求するときはこれ

POST

GETとは反対にクライアントがサーバにデータを送信する

Twitterに文字を打ち込んで送信するときとかはこれ

PUT

指定したURIにリソースを保存する リソースが存在しない場合はサーバがそのURIにリソースを作成する

画像をアップロードするときとかはこれ

DELETE

指定したURIのリソースを削除する

OPTIONS

サーバを調査する サーバがサポートしているHTTPバージョンなどを知ることができる

HEAD

サーバはHTTPヘッダのみを返す クライアントはWebページ全体を取得せずともそのページが存在するかどうかわかる

TRACE

サーバまでのネットワーク経路をチェックする

CONNECT

TCPトンネルを接続する

参考にしたサイトなど

Web初心者のためのHTTP入門

ステートフル ステートレスとはどういうことか

Hypertext Transfer Protocol - Wikipedia