HTTP::GET,POSTメソッド
HTMLのformタグなどでよく使われるGET,POSTメソッドについてです。
・GET method
(クライアントからみてサーバから)データ検索結果をGETする時に
使います。
送るデータをURLの後ろに ? や & をつけて(クエリという)、送信します。
<form method="GET" action="http://hogehoge.com/"> 名前:<input type="text" name="NAME"> //名前をほげにしたとします。 年齢:<input type="text" name="age"> //20歳にしたとします。 <input type="hidden" name=p value=t> <input type="submit" value="送信"> </form>
のようなフォームがあった場合、
送信されるデータは、
http://hogehoge.com/name=ほげ&age=20&p=t
のようになるはずですが、実際は送信するデータにURLエンコードという符号化
処理が行われます。
・URLエンコードとは
URLに使ってはいけない文字を使うときに使います。
エンコード前 |
エンコード後 |
ほげ |
%82%d9%82%b0 |
hoge |
hoge |
文字コードによって、エンコード結果が異なるので
サーバに対応する文字コードを使用しましょう。
ex)
文字コード |
エンコード前 |
エンコード後 |
Shift-JIS |
ほげ |
%82%d9%82%b0 |
UTF-8 |
ほげ |
%e3%81%bb%e3%81%92 |
EUC-JP |
ほげ |
%a4%db%a4%b2 |
GETメソッドでは送るデータがURLになるため、
送信できるデータは数KBです。
したがって、クエリーを渡して結果を得る時例えば
検索結果を得るときなどに使うのが向いています。
・POSTメソッドとは
(クライアントからみてサーバに)POSTつまり投稿するメソッドです。
掲示板の書き込みやまとまったデータを送信する時につかいます。