読書会でまとめたものになります

Chapter3 HTTPでやりとりする仕組み(05〜08)

#05 メッセージヘッダー

##メッセージヘッダーとは?
HTTPリクエスト、レスポンスはいずれも「メッセージヘッダー」を利用することで
HTTPメッセージに関する詳細な情報を送信することが可能
メッセージヘッダーは複数の「ヘッダーフィールド」と呼ばれる行から成り立つ。
 
##ヘッダーフィールドの構成
フィールド名:フィールド値
 
##主なヘッダーフィールド
・一般ヘッダーフィールド
・リクエストヘッダーフィールド
・レスポンスヘッダーフィールド
・エンティティヘッダーフィールド
 
#06 TCPによるデータ通信
#TCP(Transmission Control Protocol)役割とは?
WebブラウザからWebサーバーへのHTTPのデータのやり取り行う役割
 
##コネクションとは?
TCPでクライアントとサーバーがお互いに通信ができる状態になのか確認して
確立した通信経路のこと
以下にコネクションの確立のやり取りを記載
1クラアントから接続要求(SYN)
2クラアントに対して確認応答および、サーバーからの接続要求(SYN+ACK)
3サーバーに対して確認応答(ACK)
 
#07 HTTP1のやり取り
##HTTPキープアライブ
コネクションを継続して利用する方式
理由:以前は1回の通信でコネクションを確立していたが、画像取得の増加により何回もコネクションをしなければならなくなり、非効率のため
##HTTP パイプライン
HTTPデータやり取り効率化の機能
HTTPレスポンスを受け取る前に複数のHTTPリクエストを送信することが可能な機能
 
#08 HTTP/2のやり取り
##前段
Webサイトの閲覧を快適にするためにデータのやり取りを高速化することを目的としたHTTP/2が登場しました。
##ストリームによる多重化
HTTPリクエストとHTTPレスポンスは順番に処理しなければならなかった。
この問題を解決するために、HTTP/2では1つのTCPコネクション上に「ストリーム」という
仮想的な通信経路を複数生成して、それぞれのストリームの中でリクエストとレスポンスの
やり取りを可能にした。
 
担当:らうみー