[Network] HTTP
2020 12 02
CookieやSessionを勉強している間にわからない用語が出てきて、HTTPの勉強をもっと深くするような気がします.ネットワークを学習する過程で,最初に理解できなかったのはOSI 7層における同一層間の情報交換であり,情報は最下層に低下する.これは何の話ですか...と思っていましたが、最近理解するにつれて、勉强が速くなってきたようです.HTTPはWeb開発者が知っておくべき内容です.
wwwで情報交換できるプロトコル.主にHTMLドキュメントの交換に使用されます.主にTCP、HTTP/3からUDP(QUIC)、80番ポートを使用 HTTPは、クライアントとサーバとの間の要求/応答プロトコル である.クライアントWebブラウザがHTTPを介してサーバからウェブページまたはピクチャ情報を要求すると、サーバはこの要求に応答して必要な情報をユーザに渡す. TCP/IPアプリケーション層プロトコル HTTPは非接続プロトコル->CookieとSessionです.
NAVERに入り、Chrome開発者モードを開き、Applicationに入り、Cookiesや他のものを見ることができます.
クライアントとサーバ間のコミュニケーションは、コメント(ASCII)メッセージによって行われます.クライアントがサーバに送信するリクエストメッセージは次のとおりです.リクエスト GET/images/logo.gif HTTP/1.1 ヘッダー Accept-Language: en 空行 その他のメール 等を含む要求メッセージを送信し,要求内容とヘッダはCRLFで終了しなければならない.
ステータスライン(Status Line):ステータスコードと理由メッセージが含まれます. HTTP/1.1 200 OK
レスポンスヘッダフィールド Contenty-Type: text/html
HTTPステータスコードはIANAが管理する. http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
HTTPの初期バージョンにはバージョン番号がありません.
要求は1行で構成され、GETメソッドのみがリソースのパスとして使用されます.
応答もファイル内容そのもので構成される.
バージョン情報はリクエストとともに送信されます
Statusコードは応答の先頭にも付着しており,送信->要求の成功/失敗の結果を示している.
通常のHTMLファイルのほか、json、textなど、他のドキュメントを転送する機能も追加されています.
1995年から様々なHTTP/1.0が実施され、1996年まで標準化されていたが、HTTPの最初の標準HTTP/1.1はHTTP/1.0が発表されて数ヶ月も経たない1997年初頭に公開された.は、各接続の要求を処理することを目的とする.再利用可能な は、使用済みインタフェースを再オープンすることで時間を節約できます.配管基板を追加し、第1の要求の応答が送信前と第2の要求の送信を可能にする. キャッシュ制御機構 を導入する.ホストヘッダにより、同じIPアドレス上でホストの異なるドメインの機能がサーバの位置決めを可能にする. コアアプリケーションの事前定義は、IDCを使用してインターネットサービスを提供する企業が所有する高速ネットワーク接続および管理サーバのサービス であり、直接管理サーバではない.
その後15年間、HTTP/1.1は非常に安定していた.
1.安全な伝送のためのHTTPは、TCP/IPスタックを介してHTTPを伝送するのではなく、SSLを追加することによりHTTPSというプロトコル を開発する. SSL->TLS, 2.複雑なアプリケーション向けHTTP REST APIモデルは2000年に設計された. APIによって起動された動作も、基本的なHTTPメソッドを使用する特定のURIアクセスによって伝達されない. 3.Webのセキュリティモデル CORS、CSP等 Same Originポリシー
HTTP/1.1インタフェースは、要求を正しい順序で送信する必要がある.コストと複雑さもたくさんあります.2010年初め、グーグルはクライアントとサーバ間のデータ交換の代わりにSPDYプロトコルを実施した.
最適化テクノロジーの実装
同じ接続でパラレルリクエストできます.(Multiplexed Streams)
1つの接続で複数のメッセージを同時に送信します.
応答順序を考慮する必要はありません.
シーケンスの削除(Stream Priorization) リソース依存関係(優先度設定)
クライアントがサーババッファと呼ばれるメカニズムをキャッシュして必要なデータを埋め込むことを許可します.
2015年5月に標準化され、大きな成功を収めた.
HOL Blocking 第1の要求に対する応答が遅延すると、第1の応答処理が完了するまで、次の要求に対する応答は を待つ.
RTT増加 は、1つの接続が1つの要求を処理するので、各要求は1つの接続 を作成する.の3パスの握手を繰り返すことにより、不要なRTTの増加とネットワークの遅延を招き、性能を低下させる .
重リーダ構造
要求 毎に重複ヘッダ値 が送信される.ドメインに設定クッキー情報も、各要求のヘッダにおいて を送信する.
HTTP 3についての内容とQUICについての内容については次回に議論する.学校の授業でQUICでNS-3でアナログ操作をしてQUICを勉強しましたが、もうちょっと勉強しても良かったです.
リファレンス https://ko.wikipedia.org/wiki/HTTP https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP https://developers.google.com/web/fundamentals/performance/http2/?hl=ko
CookieやSessionを勉強している間にわからない用語が出てきて、HTTPの勉強をもっと深くするような気がします.ネットワークを学習する過程で,最初に理解できなかったのはOSI 7層における同一層間の情報交換であり,情報は最下層に低下する.これは何の話ですか...と思っていましたが、最近理解するにつれて、勉强が速くなってきたようです.HTTPはWeb開発者が知っておくべき内容です.
概要
Hyper Text Transfer Protocol
wwwで情報交換できるプロトコル.主にHTMLドキュメントの交換に使用されます.主にTCP、HTTP/3からUDP(QUIC)、80番ポートを使用
NAVERに入り、Chrome開発者モードを開き、Applicationに入り、Cookiesや他のものを見ることができます.
リクエストメッセージ
クライアントとサーバ間のコミュニケーションは、コメント(ASCII)メッセージによって行われます.クライアントがサーバに送信するリクエストメッセージは次のとおりです.
レスポンスメッセージ
ステータスライン(Status Line):ステータスコードと理由メッセージが含まれます.
レスポンスヘッダフィールド
HTTPステータスコードはIANAが管理する.
HTTPアップグレード
1.HTTP/0.9-単線プロトコル
HTTPの初期バージョンにはバージョン番号がありません.
要求は1行で構成され、GETメソッドのみがリソースのパスとして使用されます.
GET /login.html
応答もファイル内容そのもので構成される.
2.HTTP/1.0-拡張性
バージョン情報はリクエストとともに送信されます
Statusコードは応答の先頭にも付着しており,送信->要求の成功/失敗の結果を示している.
通常のHTMLファイルのほか、json、textなど、他のドキュメントを転送する機能も追加されています.
GET /login.html HTTP/1.0
User-Agent: NCSA_Mosaic/2.0
200 OK
Date: Thu, 20 Dec 1995 09:22:11 GMT
Server: ...
...
3.HTTP/1.1-標準
1995年から様々なHTTP/1.0が実施され、1996年まで標準化されていたが、HTTPの最初の標準HTTP/1.1はHTTP/1.0が発表されて数ヶ月も経たない1997年初頭に公開された.
その後15年間、HTTP/1.1は非常に安定していた.
1.安全な伝送のためのHTTP
4.HTTP/2.0-パフォーマンスの良いプロトコル
HTTP/1.1インタフェースは、要求を正しい順序で送信する必要がある.コストと複雑さもたくさんあります.2010年初め、グーグルはクライアントとサーバ間のデータ交換の代わりにSPDYプロトコルを実施した.
最適化テクノロジーの実装
同じ接続でパラレルリクエストできます.(Multiplexed Streams)
1つの接続で複数のメッセージを同時に送信します.
応答順序を考慮する必要はありません.
シーケンスの削除(Stream Priorization)
クライアントがサーババッファと呼ばれるメカニズムをキャッシュして必要なデータを埋め込むことを許可します.
HTTP/1.1欠点
要求
HTTP/3.0 & QUIC
HTTP 3についての内容とQUICについての内容については次回に議論する.学校の授業でQUICでNS-3でアナログ操作をしてQUICを勉強しましたが、もうちょっと勉強しても良かったです.
リファレンス
Reference
この問題について([Network] HTTP), 我々は、より多くの情報をここで見つけました https://velog.io/@kante/Network-HTTPテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol