2011-01-12 15 views
6

フォーム処理、ユーザーの裁量とデータのプライバシーの点で2つの違いを完全に理解していますが、フォーム結果を送信するときにGET over POSTを使用する人はいますか?GETとPOST(フォーム処理)

おかげ

+0

の可能重複[あなたはPOSTを使用しないと、あなたが得る使用しないときに?](http://stackoverflow.com/questions/46585/when-do-you-use-post-and-when- do-you-use-get) – lonesomeday

答えて

6

GETは、URL自体にパラメータを置き、誰もが見ることができるようにします。 POSTはログインやセキュリティに敏感なデータには理想的ですが、GETは動的ページをブックマークする場合に最適です。

たとえば、フォーラムに参加してください。その中のすべての投稿を表示するスレッドは動的に読み込まれます。使用可能なすべてのスレッドのページが存在しません。つまり、ロードするスレッドを示すパラメータを指定する必要があります。これらのパラメータはGETを使用して渡されるため、ページをブックマークすることができ、指定されたパラメータで正確なURLが再度使用されてページが読み込まれます。

1

私は、ユーザーが、私はそれはおそらくPOST以外GET使用します(何らかの理由で)次のステップ/ページのブックマークを保存することができていることが必要な場合。

両方とも安全ではなく、両方をエスケープする必要があります。

2

たとえば、フォームデータをログに表示するには

+0

あなたは私が書きたいものを投稿しました:) –

11

W3C HTML 4.01 Recommendation on the appropriate usage of GET and POST:

フォームが冪等である場合に「GET」メソッド(すなわち、全く副作用を引き起こさない)使用されるべきです。多くのデータベース検索では、目に見える副作用がなく、getメソッドに理想的なアプリケーションを作成します。

フォームの処理に関連するサービスが副作用を引き起こす場合(フォームがデータベースまたはサービスのサブスクリプションを変更する場合など)は、「post」メソッドを使用する必要があります。

注:「get」メソッドは、フォームデータセットの値をASCII文字に制限します。 [post]メソッド(enctype = "multipart/form-data")のみが[ISO10646]文字セット全体をカバーするように指定されています。