<DAY68>WEBを支える技術を読んで第6章
●学習日数 68日
●学習時間(本日) 8.0時間
●累計学習時間 182.0時間
●一日あたりの平均学習時間 2.68時間
インターネットのプロトコルは階層型
4つの層に分かれている。
ネットワークインターフェイス層
物理的なケーブルやアダプタに相当する部分。
インターネット層
この層を担当するのが、IPです。IPではデーターの通信単位をパケットと呼ぶ。 パケットとは指定したIPアドレスをパケット単位で通信している。 送り出したデーターが最終的な送り先まで届くかは保証しない。
トランスポート層
IPが保証しなかったデーターの転送を保証する。TCPが相当する。 保証の仕方は、コネクションを使って漏れをチェックする。どのアプリケーションに渡るのかを決定するのがポート番号。
アプリケーション層
HTTPやメールやDNSを実現する層です。
HTTPのバージョンについて
今は1、1で後継のバージョンも議論されている。 ただ、現在ではRESTアーキテクチャスタイルに価値を見出しており、HTTP1.1を有効に活用できる開発をしていく流れとなっている。
リクエストとレスポンスについて
HTTPはクライアントが出したリクエストをサーバーで処理してレスポンスを返します。 クライアントはレスポンスが返るまで待機します。
クライアントで行われる事
1.リクエストメッセージの構築
2.リクエストのメッセージの送信
3.(レスポンスが返るまで待機)
4.レスポンスメッセージの受信
5.レスポンスメッセージの解析
6.クライアントの目的を達成するために必要な処理
サーバーで行われる事
1.(リクエストの待機)
2.リクエストのメッセージの受信
3.リクエストメッセージの解析
4.適切なアプリケーションプログラムへの処理の委譲
5.アプリケーションプログラムから結果を取得
6.レスポンスメッセージの構築
7.レスポンスメッセージの送信
HTTPメッセージ
リクエストメッセージとレスポンスメッセージをまとめた言い方。 HTTPのメッセージの構造
ステートフルとステートレスについて
RESTの設計の重要なアーキテクチャである ステートレスなサーバー設計ですが、意味を完結に表すなら、ステートレスはくどい会話になる。 一見ステートフルがいいように見えるが、無数のクライアントのリクエストを受けるサーバーにおいて、処理しきれない問題が生じる。
ステートレスの欠点
送信するデーター量が多くなる。 リクエストを重複してレスポンスを返す恐れがある。