| 説明 | 送信に使うメソッドを指定する |
|---|---|
| 語源 | METHOD to submit |
| 値の型 | [選択] |
| 解説 |
action属性で指定したプログラムにデータを送る時のHTTPメソッドを指定します。
|
| 使用要素 | form |
method属性は、HTTPリクエストをする時のメソッドを指定します。
GETメソッドを使用します。action属性のURIの'?'に続けて、URLエンコードされたデータセット列を並べる事を要求します。通常のHTMLファイルやXHTMLファイル、XMLファイルなどをダウンロードする場合にも使われます。
GETは、フォームから入力内容を送信して、サーバから応答を得るのが主目的のメソッドです。サーバ上のデータを変更する場合はPOSTを使うべきです。また、大量のデータを送信する用途には向きませんが、ユーザーエージェントのアドレス欄に同じ結果を得る為のURIが表示される事が期待できます。
なお、GETの場合'?'以降のデータセット列も一緒にサーバのログに残ります。サーバが自前の物でなければ、パスワードなどをGETで渡すのは須らく避けるべきです。
POSTメソッドを使用します。リクエスト行にはデータセットを並べず、メッセージボディとしてデータセット列を送信する事を要求します。
POSTは、ユーザに何らかの情報を入力させて、サーバに送信し、データを変更するのが主目的のメソッドです。その後のサーバからの応答に意味が無いとは言いませんが、普通ユーザーエージェントのアドレス欄に同じ結果を得る為のURIは表示されません(データが変更されるならば、同じURIで同じ結果は得られない為)。
重要なデータがログに残らないからといって過信しないで下さい。確かにログには残りませんが、SSL を使っていなければ目的のサーバに到達するまでに内容を傍受する事ができますし、SSLを使っていて盗聴が事実上不可能でも、サーバ上のファイルにデータを保存した場合、共用サーバなら他のユーザが見るかも知れませんし、自前の物でも誰かがクラックしてくるかも知れません。そこまで考えるときりが無いですが、過信は禁物です。
ちなみに、不特定多数のユーザのパスワードを保存するなんて事はよくあるパターンですが、その場合は生のままではなくハッシュ (Hash。バイト列に対して何らかのアルゴリズムを使い得られる数値あるいは文字列。同じバイト列から得られるハッシュは常に一つだが、少しでもバイト列の内容が変わると全く違ったハッシュが得られ、不可逆的なものが望ましい。よく使われるアルゴリズムには、MD5(Message Digest algorithm 5)、SHA(Secure Hash Algorithm)などがある)を記録しておくべきです。
| [method] | ||
|---|---|---|
| Published | : | 2006-03-26T09:00:00+09:00 |
| Last Modified | : | 2006-12-07T09:00:00+09:00 |
| Table of Contents | : | 属性目次 |
| Index | : | 属性索引 |
| Verified with | : |
|