ソフトウェア
中級

リダイレクト(リダイレクト)

HTTP転送/URL変更機構。301(恒久移動)・302(一時移動)・307(保持)・308(永続保持)のステータスコードで実装、Next.js `redirects()`・Vercel rewrites.json・Nginx `return 301`・Cloudflare Rulesetsが代表。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
301
302
308
Nginx

概要

リダイレクトは、Web サーバーやアプリケーションがクライアントへ別の URL へ転送する指示を送る仕組みです。HTTP ステータスコード 301(恒久移動)、302(一時移動)、307(保持)、308(永続保持)などを使い、ブラウザや検索エンジンに対してリソースの場所が変わったことを通知します。リダイレクトは SEO 対策やサイト構造の変更時に不可欠で、正しく設定することでユーザー体験を損なわずに URL を統一できます。

主な特徴・仕組み

  • ステータスコードの意味

    • 301:恒久的に移動。検索エンジンは旧 URL をインデックスから削除し、新 URL を優先します。
    • 302:一時的に移動。検索エンジンは旧 URL を残し、将来再度参照します。
    • 307:HTTP メソッドを保持したままリダイレクト。POST などのデータ送信に対しても安全です。
    • 308:永続的に保持。301 と同様に検索エンジンに永続移動を示します。
  • 転送方法

    • URL の変更:Location ヘッダーに新 URL を設定し、クライアントに再リクエストを促します。
    • ステータスコードとヘッダーの組み合わせ:HTTP/1.1 では 3xx 系ステータスと Location が必須。
    • リダイレクトチェーン:複数のリダイレクトが連続すると遅延が増加。最短で 1 回にまとめることが推奨です。
  • パフォーマンスへの影響

    • 1 つのリダイレクトで 1 つの TCP ハンドシェイクと HTTP リクエストが発生。
    • 10,000 req/s の負荷を持つサーバーでは、リダイレクトが 5ms 以上のレイテンシを生む可能性があります。
  • キャッシュ

    • 301/308 はキャッシュ可能。ブラウザは 1 年程度キャッシュし、再リクエストを省略。
    • 302/307 はキャッシュされにくく、再リクエストが必要です。

スペック/製品比較表

製品名・型番主なリダイレクト機能ステータスコード対応1 秒あたりリクエスト10Gbps ネットワークCPUメモリ備考
Nginx 1.25.2return ディレクティブ301,302,307,30815,00010Gbps3.5GHz32GB軽量で高速
Apache HTTP Server 2.4.57Redirect ディレクティブ301,302,307,3088,0001Gbps2.6GHz16GB柔軟なモジュール
Varnish Cache 7.0VCL でのリダイレクト301,302,307,30825,00010Gbps3.0GHz64GB高速キャッシュ層
Cloudflare Workers 2026.1Edge でのリダイレクト301,302,307,30830,00010Gbps2.8GHz8GBCDN と統合
Next.js 13.4redirects() API301,302,307,3085,0001Gbps3.2GHz32GBSSR/SSG に最適
  • CPU:サーバー側でリダイレクトを処理する際に必要なクロック数。
  • メモリ:キャッシュとリクエスト処理に必要。
  • ネットワーク:10Gbps は 2026年時点で標準的なデータセンター帯域。
  • リクエスト数:同時に処理できるリクエスト数。リダイレクトが多い場合は高い数値が望ましい。

具体例・対応製品

  • Nginx
    server {
        listen 80;
        server_name old.example.com;
        return 301 https://new.example.com$request_uri;
    }
    
  • Apache
    Redirect 301 /old-page https://new.example.com/new-page
    
  • Varnish
    sub vcl_recv {
        if (req.url ~ "^/old") {
            set req.url = regsub(req.url, "^/old", "/new");
            return (restart);
        }
    }
    
  • Cloudflare Page Rules
    • 「URL 変更」 → 「301 永続的にリダイレクト」
  • Next.js
    export async function redirects() {
        return [
            {
                source: '/blog/:slug',
                destination: '/articles/:slug',
                permanent: true,
            },
        ];
    }
    
  • Vercel
    • vercel.json の rewrites でリダイレクトを設定。
  • Amazon CloudFront
    • 失敗したオリジンに対して 302 で別オリジンへ転送。
  • Microsoft IIS
    • 「URL 書き換え」モジュールで 301/302 を設定。
  • Google Cloud Load Balancing
    • リダイレクトルールを作成し、HTTP での転送を実現。

自作PCでの選び方・注意点

  1. CPU
    • 3.5GHz 以上のクロックがあるとリダイレクト処理が高速。
  2. メモリ
    • 32GB 以上を推奨。キャッシュを多く保持できるため、リダイレクトチェーンが短縮される。
  3. ストレージ
    • NVMe SSD(Samsung 990 Pro 2TB)で 1GB/s 以上の読み書き速度。
  4. ネットワークカード
    • 10Gbps 互換の NIC(Intel X710)で帯域を確保。
  5. 電源ユニット
    • 450W 以上の 80+ Gold 認証。
  6. 冷却
    • 低温で 70% キャッシュヒット率を維持。
  7. OS
    • Linux(Ubuntu 24.04 LTS)で Nginx/Apache のパフォーマンスが高い。
  8. 監視
    • 99.99% 稼働率を維持するため、Prometheus + Grafana で監視。

製品例

製品名・型番CPUメモリストレージネットワーク電源備考
ASUS ROG Strix X670EAMD Ryzen 9 7950X64GBSamsung 990 Pro 2TBIntel X710750W高性能
Intel Core Ultra 9 285K5.7GHz ブースト32GBSamsung 990 Pro 1TBIntel X710650W次世代
AMD EPYC 96543.0GHz128GBSamsung 990 Pro 4TBIntel X7101kWデータセンター向け
Intel Xeon W-32753.8GHz64GBSamsung 990 Pro 2TBIntel X710750Wワークステーション
ASUS ROG Strix X670E5.7GHz32GBSamsung 990 Pro 2TBIntel X710750W
  • CPU:リダイレクト処理は CPU 集中型。
  • メモリ:キャッシュヒット率を高める。
  • ストレージ:高速読み書きで 1GB/s 以上を実現。
  • ネットワーク:10Gbps は 2025年時点で標準。

関連用語との違い

用語定義主な違い
リダイレクト別 URL へ転送。ステータスコードで指示。URL が変わる。
リライトURL を内部的に書き換え。クライアントは変更を認識しない。物理的な転送は発生しない。
プロキシクライアントとサーバー間で中継。透明性が高く、URL は変わらない。
キャッシュ以前のレスポンスを保存。リダイレクトはキャッシュを生成しない。
フォワードサーバー側で別サーバへリクエストを送る。
この記事について
カテゴリーソフトウェア
難易度中級
作成日2026/4/19