FlaskのGETとPOSTの違いをいい加減覚えようよ。













こんにちはちゆりです。

pythonのFlaskを勉強し始めて数時間程でまずぶち当たる壁は

GETとPOSTどっち使ったらいいねん!!問題だと思います。

僕は困ったらPOSTを使えばいい。とりあえずPOSTを使っておけばなんとかなると教わったので意識してGETを使ったことはありませんでした。

それじゃあいかんでしょ。ということでGETとPOSTの違いを備忘録的にまとめておく。

ざっくりGETとPOST

GET?は?POST?は?なんやねん。

GETとPOST
GETとPOSTは入力フォームのデータを送信するときに利用します。
例えばこんな入力フォーム

入力フォームに入力した値をPythonに渡して(送信して)Python側で処理をするという流れです。

このとき入力フォームを実装しているHTML側でGETで送信するかPOSTで送信するかを記述するのですが,一応どちらでも送信できます。

では,どちらを使うのが良いのか。

GETはこんなとき/特徴

  • データの取得をしたいときに使用(データベースの書き換えがないとき)
  • 送信されるデータがURLに付加される

例えばこんなふうに長々と送信情報がURLにて付加されていることが分かる。

“127.0.0.1:5000/?yourname=tiyuri&age=25”

「?」パラメータのはじまり
「=」挟んだ左側がGETの変数名、右側が渡される値
「&」パラメータの切れ目

POSTはこんなとき/特徴

  • データを変更したいときに使用(データベースの書き換えが必要なとき)

ここで言う変更はデータの新規登録,ソート,削除,更新

  • 送信されるデータはメッセージボディ内に含まれるためURLに情報の不可はされない。(内部でデータを保持する。)

パスワードなどの秘匿性のあるものの送信を行う場合は,POSTを用いる。

また,送信できる情報が多い場合にも(GETは2048文字,POSTは無制限)

結果,POST使っておけば無難

GETやPOSTが用意されていますが,実は全てPOSTを使っておけば問題ないです。

強いて言うなら。GETを使うと

  • 情報を保持した状態をブックマークに登録できる

URLにパラメーターを持つため,URLでどのような情報を持っているか判別できるからです。

  • ログを残すことができる。

これももちろんURLに情報が保持れますからアクセスURLをログとして確認することができます。

また,デバッグ段階でパラメーターの情報を簡単にURLから見れますよね。

 

以上GET/POSTのざっくり特徴説明でした。

参考に過去の記事でSQLiteへの接続をFlaskで記述しています。

Flask+SQLiteで5分でWebアプリ開発

2019年5月3日

 

この記事ではしっかりPOST使っています。

データベースの扱いがメインなので。。。

 

ありがとう

 

HTMLにGETかPOSTか指定する場合は<form>タグに記述

<form action=”#” method=”get”>~</form>

<form action=”#” method=”post”>~</form>

ここらへんの説明はあまりできてないですね。

★人気の記事一覧

合法的に女の子に精液の匂いを嗅がせる方法

【精子を食べる!?】食ザーが理にかなっているというお話

[Froala Design Blocks ]無料でオシャレなサイト作成ができるHTMLのテンプレート

スムージーは本当に健康に効果があるのか化学の観点でのみ考えてみる












★人気の記事一覧

合法的に女の子に精液の匂いを嗅がせる方法

【精子を食べる!?】食ザーが理にかなっているというお話

[Froala Design Blocks ]無料でオシャレなサイト作成ができるHTMLのテンプレート

スムージーは本当に健康に効果があるのか化学の観点でのみ考えてみる

気に入ったらLet's Share!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

ちゆり

6年間化学を専攻していたのになぜか一部上場のIT企業のエンジニアへ。脱サラ田舎暮らしに憧れ,なんだかんだプログラミングが好き。口癖は仕事辞めたい。凡人にはなりたくない凡人。