記憶庫

自分用のメモです。

HTTP リクエストメソッドとサーブレットメソッド

HttpServlet クラスは、HTTP のリクエストの種類に対応するメソッドを持っている。
HTTP のリクエストと、対応して呼び出されるメソッドは以下の通り。

リクエストメソッド機能対応するサーブレットメソッド
GET サーバにリソースを要求する。データの転送は URL を介して行う。 doGet()
HEAD リソースのヘッダ情報のみを要求する。 doHead()
POST サーバにデータを送信する。データは、リクエストボディに埋め込まれる。 doPost()
PUT サーバにドキュメントを送信する。 doPut()
DELETE サーバにリソースの削除を要求する。 doDelete()
TRACE サーバを診断する。 doTrace()
OPTIONS サーバがサポートしているメソッドを取得する。 doOptions()
CONNECT プロキシサーバにトンネリングを要求する。

サーブレットメソッドに関する tips

  1. リクエストを受け取ったコンテナはまず service() メソッドを呼び出し、その後 service() メソッドは対応する doXXX() メソッドにリクエストを振り分ける。
  1. CONNECT メソッドに対応するサーブレットメソッドは存在しない。
  1. dooGet() メソッドと doHead() メソッドは、安全かつ等べきでなければならない。
  1. doHead() メソッドが定義されていない状態で HEAD リクエストを受信した場合、doGet() メソッドが呼び出される。