メインコンテンツへ移動
SEMentor
ネットワーク 約10分

HTTP と HTTPS の仕組み

Web の基盤プロトコルである HTTP/HTTPS の動作原理とセキュリティを学ぶ

HTTP とは

HTTP(HyperText Transfer Protocol)は、Web サーバとクライアント(ブラウザ)が通信するためのプロトコルです。テキストベースでシンプルな構造を持ちます。

HTTP リクエスト・レスポンスの構造

リクエスト

GET /articles HTTP/1.1
Host: example.com
Accept: text/html
User-Agent: Mozilla/5.0
  • メソッド:GET, POST, PUT, DELETE, PATCH など
  • パス:リクエストするリソースの URI
  • ヘッダ:付加情報(Content-Type, Authorization など)
  • ボディ:POST/PUT 時のデータ(JSON など)

レスポンス

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<html>...</html>

HTTP ステータスコード

コード意味
2xx成功200 OK, 201 Created
3xxリダイレクト301 Moved Permanently, 302 Found
4xxクライアントエラー400 Bad Request, 401 Unauthorized, 404 Not Found
5xxサーバエラー500 Internal Server Error, 503 Service Unavailable

HTTPS とは

HTTPS(HTTP Secure)は HTTP を TLS(Transport Layer Security)で暗号化したものです。

TLS の役割

  1. 暗号化:通信内容を第三者が読めないようにする
  2. 認証:接続先サーバが正規のものかを確認(デジタル証明書)
  3. 完全性:データが改ざんされていないことを保証

TLS ハンドシェイクの流れ

クライアント                     サーバ
  |-- ClientHello ------------> |  対応する暗号スイートを提示
  |<-- ServerHello + 証明書 --- |  使用する暗号スイートを決定
  |-- 鍵交換 ----------------> |
  |<---------- 暗号通信開始 --- |

HTTP/2 と HTTP/3

特徴HTTP/1.1HTTP/2HTTP/3
多重化なしありあり
ヘッダ圧縮なしHPACKQPACK
トランスポートTCPTCPQUIC(UDP ベース)
サーバプッシュなしあり廃止予定

まとめ

  • HTTP はリクエスト・レスポンスの構造を持つシンプルなプロトコル
  • HTTPS は TLS による暗号化・認証・完全性保証を追加したもの
  • HTTP/2 では多重化によりパフォーマンスが向上した

このレッスンは未完了です。

次のレッスンへ