###今日の学習内容
今日は改訂3版基礎Ruby on Railsを読みながら、HTTPの基礎について学習していきました。
####HTTPとは
まず、HTTPとは何なのか?というところから始めました。
「Hyper Text Transfer Protocolの略称で、インターネットで通信するときに使うプロトコル」といったくらいしか知りませんでしたので、この際どんなものなのか確認しておくことにしました(-ω-)/
HTTP(Hyper Text Transfer Protocol)は、ブラウザーとサーバーがHTMLや画像などの情報をやり取りするときに使われるプロトコル(通信手段)です。
改訂3版基礎Ruby on Railsより引用
基本的には普通のテキストデータを使い、 ブラウザなどのクライアントがWebサーバに対してget、putといったコマンドを送ると、 それに応じた結果がサーバから送られてきます。
(中略)
原則としてステートレス(= stateless 前回の状態は非保持の意)、 つまり1回コマンドを送ったら1回結果が返ってきてそれで終わり、ということが挙げられます。
インターネット用語1分解説 HTTPとはより引用
なるほど、HTTPはブラウザとサーバー間での通信手段で、要求に対して応答を返すといった感じでしょうかね(´-ω-`)
####リクエストとレスポンス
HTTPは単純です(^^)/
ブラウザがサーバーにリクエスト(要求)をするとそれに対してレスポンス(応答)を返します。
####URL
ブラウザーはURLを解析してサーバーにリクエストを送ります。URLはいくつかのパーツに分かれているようなので、私が昨日書いた記事のURLを参考にして説明していきます。
昨日書いた記事のURL↓
http://qiita.com/shouxuohs/items/d0cb75c7cab47712e7f7
まず、html:
の部分ですね。
これはスキームといって、HTTPやFTPなどのプロトコルの種類を表しているものです(-ω-)/
次に、qiita.com
の部分です。
こちらはサーバー名を表しています。
続いてshouxuohs/items/d0cb75c7cab47712e7f7
の部分ですね。
shouxuohs
というユーザのitems
の中にあるd0cb75c7cab47712e7f7
というファイルまでのパス名となっています。
いつも何気なくURLを見ていましたが、何を表しているのかが分かると、ついつい見てしまうようになるかもしれないですね(笑)(@_@。
ふつうのウェブサーバーは/index.html
を要求されるとindex.html
を返します。しかし、改訂3版基礎Ruby on Railsによると、Railsはパスとファイルが対応しておらず、RailsはURLにあるパスとクエリーを解釈してコントローラのアクションを呼び出し、レンダリングした結果をブラウザーに返す、といった流れになるそうです(@_@。
うーん、難しい...(;´д`)
###あとがき
今日はHTTPについて学習しました。
HTTPについて、そこまで知らなかったのでいい機会だったと思います。(ITパスポートのときはあまりやらなかったので...)
ここのところ朝起きるのが遅くなった気がするので、ちゃんと早起きして学習を進めていきたいと思います(笑)
ここまで読んで下さり、ありがとうございましたm(__)m
###参考にさせていただいたサイトなど
- 改訂3版基礎Ruby on Rails
- インターネット用語1分解説 HTTPとは
- 図解で学ぶネットワークの基礎:HTTP編 Lesson2:リクエストとレスポンスを繰り返し,必要なコンテンツを持ってくる←分かりやすかったのでぜひ読んでいただければと思います。