POSTメソッド

読み:ぽすとめそっど / 英語表記:POST method

HTTPで、サーバにデータを送って処理させるときに使うメソッド。送るデータは、リクエストのメッセージボディに入れる。

イマシルちゃんの解説

掲示板への投稿などでは、サーバへ内容を渡して処理してもらう必要があるよね。
そんな要求に使うHTTPメソッドがPOSTなんだ。
メソッドは、サーバにどんな処理を求めるかを示すものだよ。
投稿する文章などは、リクエストのメッセージボディという本文部分に入れて送るの。
サーバは受け取った内容を登録するなど、送り先に応じた処理をするよ。
この部分のデータはURLに載せずに送れるけれど、POSTのURLにも条件などを付けられるんだ。
POST自体に暗号化の働きはないから、パスワードなどを送るときはHTTPSも必要だよ。

より深い解説

定義

POSTは、HTTPのリクエストで、送ったデータをサーバに処理させるメソッドである。データは、ヘッダーの後の空行に続くメッセージボディに入れる。

POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

user=glatch&password=secret

データの形式(Content-Type)

Content-Type使われる場面
application/x-www-form-urlencoded普通のHTMLフォーム。キー=値 を「&」でつなぐ
multipart/form-dataファイルのアップロードを含むフォーム
application/jsonWeb APIでJSONを送るとき

POSTの性質

二重送信の防止

POSTの後にブラウザで再読み込みをすると、同じデータがもう一度送られる。これを防ぐ定番の方法がPRG(Post/Redirect/Get)パターンである。POSTを受けたサーバが処理の後で別のURLへのリダイレクト(303 See Other など)を返し、ブラウザはそのURLをGETで取り直す。こうすると、再読み込みしてもGETが繰り返されるだけになる。

注意点

POSTでもHTTPのままでは通信路上で中身を見られるため、パスワードなどを送るときは必ずHTTPSを使う。POSTは「暗号化」ではなく、「データをURLに載せない」だけである。

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑