アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

Railsチュートリアル復習中:HTTPメソッドについて

f:id:simpledancer:20171208143315p:plain

今更ながらHTTPメソッドについて全然理解してませんでしたので今日はチュートリアルの中のSample_appの途中のコラムからちょっと勉強してみようと思います。

(ちなみに今日もCanvaを使ってみました。)

railstutorial.jp

HTTPメソッドとは

HTTP (HyperText Transfer Protocol)メソッドとは:

 4つの基本的な操作があり、それぞれGET、POST、PATCH、DELETEという4つの動詞に対応づけられています。クライアント (例えばFirefoxやSafariなどのWebブラウザ) とサーバー (ApacheやNginxなどのWebサーバー) は、上で述べた4つの基本操作を互いに認識できるようになっています (ローカル環境でRailsアプリケーションを開発しているときは、クライアントとサーバーが同じコンピュータ上で動いていますが、一般的には、それぞれ別のコンピュータで動作しているという点を理解しておいてください)。Railsを含む多くのWebフレームワークは、HTTPの各操作を発展させたRESTアーキテクチャの影響を受けています。

うーん、ちょっとわかりそうでわかりにくい。なんとなく行ってることはわかるっちゃわかるけどチュートリアルの文章だとふに落ちない感じです。

http://wa3.i-3-i.info/word11405.html

のブログ内では

WebブラウザさんからWebサーバさんに対する「お願いの種類」をカッコ付けて専門用語っぽく言ったのが「HTTPリクエストメソッド」です。

HTTPリクエストメソッドには以下の種類があります。

1.GET:ページをくれよ(HTTP1.0/1.1)
2.POST:このデータをくれてやるよ(HTTP1.0/1.1)
3.PUT:このファイルをやるよ(HTTP1.0/1.1)
4.DELETE:このデータを消しちゃって(HTTP1.0/1.1)
5.HEAD:ヘッダ情報だけくれ(HTTP1.1)
6.CONNECT:プロキシサーバさん、ちょっくら通しておくれ(HTTP1.1)
7.OPTIONS:サーバさん、どんなオプションを持ってるの?(HTTP1.1)
8.TRACE:どんな経路でそっちに届いたかそのまま返してちょ(HTTP1.1)
9.LINK:ちょっくらそのURLとこっちのリソースをくっつけさせてね(HTTP1.0)
10.UNLINK:「LINK」を解除するよ~(HTTP1.0)

……など。

これだとすごくわかりやすいかも。命令の内容が腑に落ちます。

ちなみにRailsでは4つ。

さらに多くはGETとPOSTが使われるためこれさえ覚えていれば困ることがないとか?

じゃあとりあえずGETとPOSTだけ今日は理解しよう。

ちなみに、あれ?PUTじゃなくてRailsはPATCH??

と気になりますと

d.hatena.ne.jp

qiita.com

とこの辺りのブログで参考に勉強させていただきました。

Rails4からはPUTではなくPATCHがデフォルトになったようです。

qiita.com

PUT→全置き換え

PATCH→部分置き換え

ということだそうです。

ちなみにHTTPメソッドなんて今まで一切意識してなかった。。。だから余計に理解できなかったのね。。単語の意味全くわかってませんでした。。

 

simpledancer.hatenablog.com