HTTP Verb ってなに?
動詞??
リクエストとかかね。
HTTPリクエストメソッドってことでいいみたい。
言い方でだいぶ印象違うな。
HTTP
リクエストメソッド
セキュリティーの話のときに登場したみたい。
ここでは HTTP Verb = HTTPリクエストメソッド をざっくりと整理するよ。
おおざっぱに知りたい人向け。
より専門的に知りたい場合は、それ相応の情報源からお願いしますね。リンクは載せます。
HTTP Verb って?
HTTPリクエストメソッドの別名。(HTTP述語とも。)
ってことでいい。
厳密に見てくと若干の差があるわけだが、細かいことはここでは省略。
で、そのリクエストってのはいくつか種類がありまして。
以下の9つ。(だけどよく使うのは、get
、post
、put
の3つ)
- GET
- 指定したリソースの表現(つまりWebページ)をリクエストする。
- HEAD
GET
と同じレスポンスを求めるけど、ヘッダー情報だけをもらう。- POST
- リソースに実体を送信する。つまりWebページを送信する。
- PUT
- 対象リソースの現在の表現全体を置き換える。ファイル送信のときに使う。
- DELETE
- 指定したリソースを削除。あんまり使わないけど。
- CONNECT
- サーバーとの間にトンネルを確立する。プロキシとか。
- OPTIONS
- 対象リソースの通信オプションを確認するために使用。
- TRACE
- 対象リソースへのパスのルートを確認するために使用。
tracert
だね。 - PATCH
- リソースを部分的に変更するために使用。
LINK
とUNLINK
ってのがあったんだが。
最新仕様だと対象外だから、ここでは割愛。
こんなときに登場
HTTPのメソッドを見てると、こんなような話がどこかで登場したよね。
ってことで。
今回の話の発端はセキュリティー関連のことでしたし。
いろいろ絡む。
それぞれを細かくは、また別途で。
需要があれば。。
ひとまずは、関連することがあるよねくらいのまとめ。
HTTP Verb タンパリング
情報セキュリティーのときの話題。
攻撃手法のひとつ。
メソッドを改ざんすることで、認証を突破しようとする攻撃手法。
通常使うメソッドだから。
その脆弱性を突こうって魂胆。
不正アクセスだし。見抜くことはできなくもない。
REST API
APIの仕様とかいったときに話題になるかと。
本来の「思想としてのREST」でも考え方は同じ。
APIのメソッドとして、以下の4つを読み替えて使う。
- GET: SELECT
- PUT: CREATE
- POST: UPDATE
- DELETE: DELETE
仕様は個々に異なるんだけど。
REST思想ならだいたいの方向性は同じ。
運用の考え方には差がありそうか。
奥深い世界
使い方とかの話になると、かなり専門的で奥深いことになっちゃうから。
ここではざっくりと。
Webページのログ見たりすると、メソッドがつらつら書かれてる。
初めて見たときには何が何だか分からないもんだけど。
システム作ったりしてると、だんだん分かってくるもんだよ。
それだって、必要な情報を拾ってるだけだからね。。
ご意見やご感想などお聞かせください! コメント機能です。