『プロになるためのWeb技術入門』の重要箇所をまとめた--Lesson3
皆様こんにちは、もしくははじめまして。IDEです。 今日の記事はLesson3について。 HTTP通信をメインに学んでいきます。 書籍はこちらから。
「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか
- 作者:小森 裕介
- 発売日: 2010/04/10
- メディア: 大型本
転載にならないか、恐る恐る書いているのでこれはダメじゃない!?やこうした方がもっといい記事になるよ!という感想がありましたらぜひコメントをいただけると嬉しいです。
目次
HTTP通信について
情報のやりとりを行うHTTP通信には、各通信ごとに記録が残されています。 そのログを見れば、それぞれの通信の内容がわかります。 1行目に記載されている部分をHTTPリクエスト・ライン(リクエスト)/HTTPステータス・ライン(レスポンス)と呼びます。
リクエスト・ライン
GET http://quagsire.jp HTTP/1.1 |---|------------------|--------| |1.メソッド| 2.URI |3.HTTPバージョン|
ステータス・ライン
HTTP/1.1 200 OK |-------|---|---| |1.HTTPバージョン|2.ステータスコード|3.レスポンスフレーズ|
ログの2行目以降には詳細が書かれています。 リクエストの詳細
- Accept(データの種類)
- Accept-language(自然言語の種類)
- User-Agent(利用しているWebブラウザの種類やバージョン)
- Host(リクエストの送信先ホスト名やポート番号)
ステータス・ライン
- メッセージ・ヘッダ(レスポンスに関する詳細)
- メッセージ・ボディ(レスポンスの内容。HTMLならHTMLを、GIFやJPEGなら画像を表示)
情報はどのように届けられるのか(IPアドレス・DNS)
IPアドレス(インターネット上の住所。URLをコンピューターがわかるようにした数値)をもとにTCP/IPがパケットと呼ばれる単位に情報を分割して届けます。 ここで2点、疑問が生まれます。
ルートDNSサーバ → 各TLDのDNSサーバ → DNSサーバ
尚、IPアドレスは2種類存在します。
情報を探し終わった後、受け取るまで(ポート)
リクエストで情報を小分けパックにして送ったら、小分けパックされた情報がレスポンスで返ってきます。 TCP/IPがパケットを元の情報に再構築した後、どのプロトコルを使用するかを決めるのがポート番号です。 インターネットで情報を受け取るには、IPアドレスで宛先を、ポート番号でどのような処理をするかを指定しなければいけません。 よく使われているプロトコルは、標準のポート番号が決められています。(ウェル・ノウン・ポート)
情報の受け渡しについて(GET/POST)
情報の受け渡しにはGETメソッドとPOSTメソッドが利用できます。
GET | POST | |
---|---|---|
パラメータの格納 | URL | メッセージ・ボディ |
セキュリティ | 低い | 比較的高い |
パラメータの長さ | 制限あり | 制限なし |
パラメータの保存・再現 | しやすい情報の共有がしやすい | しにくい |
副作用がない(同じ要求を繰り返しても同じ結果が得られる) | ない寄りサーバへの影響はほぼない | ある寄り決済処理等システムになんらかの作用がある |
使われている機能 | 検索機能 | ログイン機能、決済機能 |
アルファベット以外で表示される言語(日本語など)で検索する際には、パーセントエンコードと呼ばれる、文字列を16進数で表された各値の頭に%をつけた文字コードで表したものに変換されて処理されます。 (Chromeなどで検索結果のURLなどに日本語が表示されているのは、ブラウザの機能で見やすいように変換してくれています。)
まとめ
本記事では、『プロになるためのWeb技術入門』のLesson3をまとめていきました。 インターネット上での情報のやり取りでよく使われているHTTPについてここでは詳細に学んでいきました。 通常インターネットを利用する上で全く意識してこなかった、いわゆる裏の仕組みの部分。 今後自分が開発していく上で、ここで学んだ知識を踏まえて開発できるようにしっかりと仕組みを理解していきます。 最後までお付き合いいただいた方、ありがとうございました。