🌻

ネットワーク基礎4

2025/02/16に公開

質問

「TCP/IP」と「HTTP/HTTPS」について学習したいので、通信のプロトコルから詳しくかつ、わかりやすく説明してください。

回答

@ChatGPT

Webアプリを開発する上で避けて通れない 「TCP/IP」 と 「HTTP/HTTPS」 を、わかりやすく説明していきます!

① TCP/IPとは?
1.1 TCP/IPは何のためにあるのか?
TCP/IPは、インターネットやネットワーク通信の基本となるプロトコル(通信ルール)の集まりです。
Webアプリがサーバーとデータをやりとりするときも、すべてTCP/IPを通じて行われます。

💡 「インターネットの言葉」みたいなもの だと思ってください!

1.2 TCP/IPの4つの層
TCP/IPは 4つの階層 に分かれており、それぞれの役割があります。

名前 役割 具体例
アプリケーション層 アプリごとに適した通信方法を決める HTTP, HTTPS, FTP, SMTP (メール)
トランスポート層 データを確実に届ける(エラー制御・順序制御) TCP, UDP
インターネット層 データをどの経路で届けるか決める IP (IPv4, IPv6)
ネットワークインターフェース層 物理的な通信(Wi-Fi, LAN, 光回線など) イーサネット, Wi-Fi

💡 「データがどのようにネットワークを通って送られるかを決めるルール」 と考えると理解しやすいです!

② TCPとUDPの違い
トランスポート層には TCP と UDP という2つの主要なプロトコルがあります。

TCP UDP
特徴 データを確実に届ける(信頼性が高い) 速さ重視(信頼性は低いが軽量)
エラーチェック あり(データが届くまで再送する) なし(届かなかったデータはそのまま)
使われる場面 Webページ, メール, ファイル転送など 動画配信, ボイスチャット, ゲームなど

💡 Webアプリでは ほぼTCP を使います!

③ HTTPとHTTPS
3.1 HTTPとは?
HTTP(HyperText Transfer Protocol) は、Webサイトを表示するための通信プロトコルです。
「ブラウザがWebサーバーと会話するためのルール」 と思えばOK!

HTTPの流れ

  1. クライアント(ブラウザ) → 「このページをください!」とリクエスト(例: GET /index.html
  2. サーバー → 「はい、これがページのデータです!」とレスポンス(HTMLデータを送る)
  3. ブラウザ → HTMLを受け取り、表示する

💡 Webアプリの基本は、このリクエスト&レスポンスの繰り返し!

3.2 HTTPSとは?
HTTPS(HTTP Secure) は、HTTPに SSL/TLS という暗号化技術を追加したものです。
Webの通信を盗み見られないように安全にする仕組み です。

🔓 HTTPの問題点

通信が暗号化されていない
悪意ある第三者にデータを盗まれる危険性がある(パスワードや個人情報など)
🔒 HTTPSの解決策

データを暗号化 → 第三者が盗み見ても意味不明なデータになる
証明書(SSL/TLS証明書)を利用 → サーバーが本物かどうか確認できる
HTTPSの流れ
クライアントがサーバーに接続(HTTPSを使うよ!)
サーバーが SSL証明書 を送る
クライアントとサーバーが 鍵を交換 して通信を暗号化
暗号化された状態でデータをやりとり(安全!)
💡 今のWebアプリはほぼ全てHTTPSが標準!

まとめ
✅ TCP/IPはネットワーク通信の基本ルールで、4つの層に分かれている!
✅ TCPはデータを確実に送るプロトコル、UDPは速さを重視するプロトコル!
✅ HTTPはWebページをやりとりするルール、HTTPSはそれを安全にしたもの!

Discussion