PHASE2 LOG

主にIT関連・ゲームのログ

POSTメソッドとGETメソッドの違い

   

 

お仕事でPOSTメソッドとGETメソッドについて調べました。

誰かの役に立つかもと思ってφ(`д´)メモメモ..

 

きっかけ

 

WEBシステムを表示するときに、POSTメソッドだと「403エラー(アクセス拒否)」となり、

GETメソッドだと正常に取得できました。

その原因を軽く調べてました。

 

POSTメソッドとGETメソッドの違い

 

私は名前の感じから、POSTはデータを渡す

GETはデータを取得する…と勝手にイメージしていました。

 

ちゃんと調べてみると、単純にそうとは言えないようです。

 

まず、はっきりとした特徴があります。

GETメソッドの場合、データをサーバへ送信する際に

http://XXXX.jp?target=%1%A%2$B…

のようにURLにそのままくっつけて渡します。(クエリ文字列)

データの取得を行うことがメインであり、くっつけるパラメータは

あくまでHTMLや画像などのデータを取得するために付与するものです。

 

一方、POSTメソッドでは、データをサーバへ送信する際には

http://XXXX.jp

のようにURLには保持せず、ブラウザ上で見えるように表示しません。

データの送信がメインとなります。

 

使い分けでわかりやすいのはID/パスワードが必要な場合ですね。

例えば、ID/パスワードをGETメソッドで送信してしまうと、

URLからIDやパスワードを推測できるようになってしまいます。

 

サーバ上のログであったり、ブラウザの履歴であっり

色んな場所にIDやパスワードが残ることになります。

セキュリティとしては脆弱性が生じてしまいます。

 

パスワードや、入力フォームのデータを送信するにはPOSTメソッドを使うというわけです。

IEには扱える文字数に制限があるようなので、

パラメータによってURLが長くなる場合も、POSTメソッドが有効です。

 

なんとなく意味がわかりそうな情報って、調べないで思い込んだりすることがありますが

そういうことがないように心がけたいものですね。

 

人気ブログランキング

 -