HTTP(Webを支える技術6章)
【目次】
6.1:HTTPがなぜ重要か
6.2:TCP/IP
6.3:HTTPのバージョン
6.4:クライアントとサーバー
6.5:リクエストとレスポンス
6.6:HTTPメッセージ
6.7:HTTPのステートレス性
【6.2】TCP/IP:プロトコルの集まり
プログラマーは階層になっていることが分かっていればいいので、細かくは見ない
【6.3】HTTPのバージョン
この本では1.1が最新。2020年現在は3まである。
具体的にどんな所が進化してきたかはWeb技術の基本の方が詳しい
【6.4】クライアントとサーバー
【6.5】リクエストとレスポンス
リクエスト/レスポンスで何が行われているか細かく見ていく。
サーバから返ってきたレスポンスを解析した結果、再度リクエストが必要になる場合もあります。たとえば、gihyo.jpでは画像やスタイルシートへのリンクがいくつも含まれているため、正しくHTMLをレンダリングするためには50回以上のリクエストを発行しなければなりません。
→たしか、何回もリクエストしなくてすむようにHTTPはすでに進化している。やはりこの本は少し古いよう。
【6.6】HTTPメッセージ
HTTPメッセージの構成がどうなってるか分かりやすい:HTTP入門 https://gyazo.com/9353b2adfb63bf75d8dc09e2a79ac10a
リクエストURIって何❓
このURIをくださいとリクエストメッセージのリクエストライン(行)に書くということではないか。
そして本では、パス以降の文字列か、絶対URIを入れる決まりがあると書いてある。
【6.7】HTTPのステートレス性
ステートレス/ステートフルのちがい
アプリケーション状態 = セッション状態
セッションとは:あるWebサイトにアクセス(あるいはWebシステムにログイン)して、ログアウトするかブラウザを閉じるまでが1セッションとなる。1セッションで1ページしか閲覧しない場合もあれば、1セッションで何ページも見る場合もある。
セッション状態とは: 一連の操作の間の状態のこと。「ハンバーガーセットをポテトで注文している」という情報のこと。
ステートフルの欠点:クライアントが増えるとセッション状態を覚えるのが大変
サーバがクライアントのアプリケーション状態を覚えることは、クライアントの数が増えるにしたがって難しくなる。
クライアントの数が増えれば複数のサーバーを使う必要がある
なので、複数のサーバー間でクライアントのセッション状態を同期して、どのサーバーでも同じセッション状態を扱えるようにしなきゃいけない
ステートレスとステートフル、それぞれ利点と欠点がある。
【6.8】まとめ
HTTPの強みはシンプルさ!!