![]()
get と post
フォーム形式を使用することでブラウザ(閲覧ソフト)からサーバへデータを送れます。データ送るにはgetとpostの2通りの方法(HTTPメソッド)が用意されており、<form>タグのmethod属性によって指定されます。getはフォームデータがパッケージ化され、CGIスクリプトに引数を付けた場合と同じような形式でデータがaction属性で指定されたURLの最後に付けられます。action属性が次のような場合、
action="/cgi-bin/myscript"たとえば、yournameとpasswordの2つの<input>入力タグがあれば、このようになります。これはCGIスクリプトに引数を渡す場合とまったく同じ形式です。http://www.yokochin.com/cgi-bin/myscript?yourname=yokoi&password=xxxxxx
![]()
postはgetとほとんど同じでも、ヘッダとデータ部が分割されているためデータを加工してセキュリティを保てる利点があるといわれています。ただしpostの場合、query_string環境変数はセットされません。サーバはフォームから受け取ったURLの疑問符より後のデータを環境変数query_stringにセットします。すなわち、先の例ではquery_string変数へ次の値がセットされるわけです。
query_string=yourname=yokoi&password=xxxxxxgetとpostのどちらを使うのがよいかは個々で判断してください。getは query_stringが使えるのでデータの分解は楽ですが、getは後ろに付けられるデータ長が制限されるため大きなデータを送る場合はpostを用いなければなりません。