検索フォームはGETにするべきかPOSTにするべきか

GETの利点と言えば、

  1. 検索結果をブックマークしたり、URLをコピーしたり、リンクを作ったりできます。POSTを使っている場合は、検索トップページにしか移動できません。
  2. アクセスログにクエリーが保存されますので、どのような条件で検索されたかを後で分析することができます
  3. GETはプロキシサーバでキャッシュされますので(キャッシュが恩になっていれば)、サーバへの負担が減らせます

ということで僕は圧倒的にGETにするべきだと思いますが、世の中のウェブサイトを見ると、POSTを使っているウェブサイトがかなり多いです。

W3Cでも

  • Use GET if:
    • The interaction is more like a question (i.e., it is
      a safe operation such as a query, read operation, or lookup).
  • Use POST if:
    • The interaction is more like an order, or
    • The interaction changes the state of the resource in a way that
      the user would perceive (e.g., a subscription to a service), or
    • The user be held accountable for the results of the interaction.

となっていますので、GETを使った方がいいと思いますが。GoogleやYahooもGETを使っています。

ということで、皆さんにお聞きしたいのですが。
POSTを使った方が良いというケースはどのようなケースでしょうか?

ちなみにバイオのウェブサイトで調べてみました。

GET派

POST派

ごちゃ混ぜ派

  • BioCompareのAntibody SearchここはほとんどのパラメータはGETで送っていますが、メーカーごとの絞り込みをするとき、そこだけはPOSTになります。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s