POSTとGETとPUTとDELETEとHEADの違いなど
プログラミング学習していれば必ず出くわすPOSTやGETやPUTやDELETEやHEAD。
その他にOPTIONSもありますが、それらをまずは私のような初学者向けに簡単な違いからメモしていきたいと思います。
冪等性と安全性
GET
冪等であり安全である
HEAD
冪等であり安全である
PUT
冪等だが安全でない
DELETE
冪等だが安全でない
POST
冪等でなく安全でない
冪等(Idemoitence)というのはある操作を何回行っても結果が同じことという意味の言葉。(リクエストをした際のレスポンスが一定)
安全(Safe)かそうでないかは、操作対象のリソースの状態を変化させないことの意味。(意図しないリクエストなどによりリソースや結果を変えてしまう危険性)
安全が保たれずリソースの状態を変化させてしまうことを副作用(Side Effect)という。
実はGETもPUTもDELETEも安全でなくなる場合も例外的にあることを覚えておくこと。
簡単なまとめ
GETは安全であり、PUTとDELETEは冪等性を持っていて、POSTはいざとなったらなんでもできる側面を持っている(ただし安全とは言えない)
取得したデータを渡す際はこの性質をしっかり把握した上で適切に使い分ける必要があると言えます。
この項目については追記または別記事にてまた触れたいと思います。
では。
ディスカッション
コメント一覧
まだ、コメントがありません