見出し画像

「図解入門TCP/IP」まとめ~③~

学び直しのため、TCP/IPの入門書を読みました。

今回の記事では、こちらの本の内容を整理していきます!
その①②はこちら

Chapter6 アプリケーション層

<HTTP>

マルチプレキシング

1本のTCPコネクションにストリームという仮想チャネルを作り、ストリームごとにリクエスト、レスポンスを並列でやり取りしてHoLブロッキングを避ける。

HoL(Head of Lock)ブロッキング

HTTP/1.1で、同じTCPコネクションでリクエスト、レスポンスを並列でやり取りできないため、パイプラインで2つのリクエストを連続送信するとレスポンスが止まってしまう現象。

HPACK

よく使うHTTPヘッダーを数字に置き換えて圧縮し、ヘッダーの転送量を削減する。

サーバープッシュ

1リクエストに対して複数のレスポンスを返すプッシュ型の機能

HTTPメッセージ

スタートライン、メッセージヘッダー、メッセージボディで構成される、HTTPでやり取りされる情報。

リクエストライン

クライアントがサーバーに処理をお願いする行のこと。
メソッド、リクエストURI、HTTPバージョンで構成。

リクエストURI

サーバー場所やファイル名など、リソースの識別子を表す。

ステータスライン

サーバーがブラウザに処理結果を返す行で、レスポンスメッセージにのみ存在。

リクエストヘッダー

メッセージヘッダーの中で、リクエストメッセージを制御するためのヘッダーのこと。RFC2616では19種類ある。
Acceptヘッダー、Hostヘッダーなど

Acceptヘッダー

webブラウザが処理できるファイルの種類や優先度をサーバー側に伝える。
サーバーはブラウザが処理できるファイルを返す。

Hostヘッダー

ブラウザがリクエストするサーバーのFQDNとポート番号をセットする。
サーバーは、FQDNをみて対象のVirtual Host(1つのIPアドレスで複数ドメインを運用すること)にリクエストを振り分け、適切なコンテンツをレスポンスする。

User-Agentヘッダー

ブラウザ、OSなどユーザーの環境を表す。

レスポンスヘッダー

メッセージヘッダーの中で、レスポンスメッセージを制御するためのヘッダーのこと。RFC2616では9種類ある。

Locationヘッダー

300番台のステータスコードと合わせてリダイレクト先をブラウザにレスポンスする。

プライベートキャッシュ

webブラウザに保持されるキャッシュ

共有キャッシュ

プロキシサーバー、CDNエッジサーバーに保持されるキャッシュ

エンティティヘッダー

リクエストメッセージとレスポンスメッセージに含まれるメッセージボディの制御情報を含むヘッダーのこと。

Set-Cookieヘッダー

ブラウザでユーザーがログイン後、サーバーがセッションIDをこのヘッダーにセットしてレスポンスする。
その後のリクエストにおいては、CookieヘッダーにセッションIDをセットし、自動的にログインする。

負荷分散装置

装置上に設置した仮想サーバーで受け取ったコネクションを、予め決めておいたルールに従って各サーバーに割り振り、サーバーの負荷を分散。

宛先NAT

クライアントからパケットを受け取ったあと、最適なサーバーのIPアドレスに宛先IPアドレスを変換。

ヘルスチェック

サーバーに対して定期的に監視パケットを送り、稼働状況を確認。
L3チェック(IPアドレスレベルの状態確認)、L4チェック(サービスレベル)、L7チェックがある。

パーシステンス

アプリの同じセッションを同じサーバーに割り振り続けること。ECサイトなどでは、1というサーバーのカートに入った商品を同じく1というサーバーで購入処理しないといけないので、パーシステンスが役立つ。

<SSL/TLS>

サーバー証明書

サーバーを証明するためのデジタル証明書。HTTPSサーバーとしてインターネットに公開する時に使用。
証明書発行の流れとしては、HTTPSサーバーで秘密鍵を作り、それをもとにCSR(Certificate Signing Request)を作成して認証局に送り、審査が通ればサーバー証明書を発行して申請元に送られる。そしてこの証明書をサーバーにインストールする。

SSLハンドシェイク

SSLでメッセージを暗号化する前の事前処理のこと。
TCPコネクションをオープン後、対応形式の提示、送信相手の証明、共通鍵の素材交換、最終確認というステップを踏む。

クライアント認証

あらかじめwebブラウザにインストールしておいた証明書でクライアントを認証する。

<管理アクセスプロトコル>

SSH Secure Shell

Telnetに暗号化や公開鍵認証などを加えたものでより安全に使える。
SSHクライアント(ターミナルソフト)がSSHサーバー(管理対象の機器)にアクセスする際は、TCPコネクションをオープンしたあと、パラメータの交換、鍵共有、ユーザー認証、ログインといった処理を行う。

SCP (Secure Copty )/ SFTP (SSH File Transfer Protocol)

SSHを利用したファイル転送機能。SCPはよりシンプルで、SFTPは多機能。

ポートフォワーディング

ポート番号への通信をSSHの暗号化経路を用いて別端末に転送すること。
踏み台サーバーを経由して目的のサーバーにログインするときなどに使用。



この記事が気に入ったらサポートをしてみませんか?