Edge Routine を使用した 302 リダイレクトにより、ある URL から別の URL への一時的なリダイレクトが可能になります。 Web サイトのリソース移行、スペックアップ、またはメンテナンス中に使用して、ユーザーエクスペリエンスとセキュリティを向上させます。
使用方法
Edge Routine を使用して 302 リダイレクトレスポンスを生成すると、ESA の接続拠点(POP)がクライアントリクエストをターゲットアドレスに自動的にリダイレクトしてコンテンツをフェッチします。 これにより、リダイレクトのやり取りが減り、応答速度が向上します。
説明
ビジネスでオリジンサーバーからの応答が必要な場合は、302 リダイレクトフォロー 機能を使用してください。
サンプルコード
期待される効果: クライアントがリクエストを開始すると、Edge Routine のレスポンスには 302 状態コードが含まれ、すべての受信リクエストは指定された URL にリダイレクトされます。
言語タイプ:
Javascript例:
/** * リクエストを処理するために handleRequest という名前のカスタム関数を作成します。 * @param {Request} request - クライアントによって開始されたリクエストオブジェクト * @returns {Response} - リダイレクトレスポンスを返します */ function handleRequest(request) { // 新しい URL を定義します。すべてのリクエストはこのアドレスにリダイレクトされます。 const newUrl = 'https://example.com'; // ターゲットアドレス // 302 リダイレクトレスポンスを返します // Response.redirect は、指定された状態コードでリダイレクトレスポンスを作成するための便利なメソッドです。 // 最初のパラメーターはターゲット URL、2 番目のパラメーターは状態コードです(302 は一時的なリダイレクトを示します)。 return Response.redirect(newUrl, 302); } /** * すべての受信リクエストを処理するためのエントリポイントであるデフォルトのフェッチ関数を定義します * @param {Request} request - クライアントによって開始されたリクエストオブジェクト * @returns {Response} - 処理されたレスポンスを返します */ export default { fetch(request) { // handleRequest 関数を呼び出してリクエストを処理します return handleRequest(request); } }
デプロイメントの効果
クライアントリクエスト
GET /some-path HTTP/1.1 Host: your-deployed-service.comサーバーレスポンス
クライアントはリダイレクトに自動的に従い、ターゲット URL
https://example.comへの新しいリクエストを開始します。HTTP/1.1 302 Found Location: https://example.com