1
1

GET・POST使い分け

Posted at

概要

  • 理解の確認として、振り返りもかねてGET、POSTの使い分けをまとめる

GET・POST使い分け

参照の場合

GET メソッドは、[ 現在の,ターゲットリソース用に選定される表現 ]を転送するよう要請する。 GET は、情報を検索取得する主たる仕組みであり,ほぼすべての処理能 最適化の力点が置かれる所である。 よって、誰かが[ HTTP を介して識別できる何らかの情報を検索取得する ]ことについて話すとき,たいていは GET 要請を為すことを指している。

  • GETメソッドは、参照のみに用いる
  • GETメソッドは副作用がないことが期待される

秘密情報の場合

9.4. URI 内の敏感な情報の開示
URI は、セキュアなリソースを識別するものであっても,[ 共有され, セキュア化されないもの ]になるように意図されている。 URI は、[ ディスプレイに示される/ ページの印刷時に各用紙に刷られる/ 様々な未保護なブックマークリスト内に格納される ]ことが多い。 したがって,[ 敏感な/個人識別可能な/開示されるリスクがある ]情報を URI に内包することは、賢明でない。
サービスの作者は、[ GET に基づくフォームによる,敏感なデータの提出 ]は避けるべき.である — 何故なら、そのデータは, request-target 内に置かれることになるので。 多くの既存の[ サーバ/プロキシ/UA ]は、 request-target を[ 第三者主体から可視になり得る所 ]に,ログしたり, 表示する。 そのようなサービスは、代わりに POST に基づくフォームによる提出を利用するべき.である。
Referer ヘッダは,要請を生じさせた文脈について ターゲットサイトに伝えるので、[ 参照元リソースの URI ]内に見出され得るような[ 利用者の直前の閲覧履歴についての情報, その他の個人情報 ]を露わにする可能性がある。 Referer ヘッダに対する制限は、その定義に述べたように,そのセキュリティの考慮点の一部に取り組む。

  • 秘密情報の送信にはPOSTメソッドを用いる
    • リソースの取得以外の動作、追加・更新・削除などの作用がないことを示している。
  • Refererヘッダやrequest-targetヘッダに置くことで、第三者から見ることができてしまう

送信すべきデータ量が多い場合

  • ブラウザ上の制限があるため、多い場合はPOSTを利用する

まとめ

  • データを参照するものはGETを利用する
  • 参照以外のことを行う場合は、POSTやDELETEなど別のメソッドを利用する
  • 第三者に公開していけない情報が含まれる場合は、POSTを利用する
  • データが多い場合も、POSTを利用する

参考図書

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践 単行本 – 2018/6/21

参考web

まとめ

基本的に問題なく利用していたが、体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践 単行本 – 2018/6/21を利用して学習していく中で、基礎の部分をさらうべきであると考えまとめた。
データ量に関しては知らなかったため、早めに学ぶことができてよかったと思う。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1