リダイレクト中の HTTP ヘッダーのカスタマイズ
header("Location: http://... を使用して PHP で新しいページにリダイレクトする場合) ")、開発者は多くの場合、リダイレクト リクエストにカスタム HTTP ヘッダーを含めるという課題に直面します。提供されたコードはリダイレクト プロセスを開始しますが、追加のヘッダーを指定することはできません。
誤った情報への対処
オンラインで出回っているいくつかの誤った回答とは対照的に、リダイレクトカスタム ヘッダーを含むページにアクセスすることは、どの言語やフレームワークを使用しても実現できません。その理由は、HTTP リダイレクトの性質にあります。サーバーがリダイレクトを発行すると、3xx ステータス コードを含む応答が送信され、クライアントに新しい場所への別の HTTP リクエストを作成するように指示されます。この後続のリクエストは、デフォルトのヘッダー、またはターゲット ページによって特別に設定されたヘッダーの影響を受けます。
ブラウザの制限
ブラウザは、HTTP ヘッダーの管理において重要な役割を果たします。受信した応答ヘッダーを解釈して、リダイレクトの処理方法を決定します。ただし、ブラウザには、リダイレクト要求自体にヘッダーを変更したり追加したりする機能はありません。この制限は、そのような変更を許可すると潜在的な脆弱性が生じるため、セキュリティ上の考慮事項から生じています。
代替ソリューション
カスタム ヘッダーを使用した直接リダイレクトは不可能であるため、代替アプローチを使用する必要があります。探求されます。実行可能なオプションの 1 つは、JavaScript と XMLHttpRequest (XHR) オブジェクトを使用して非同期リクエストを開始することです。 XHR を利用すると、リクエストでカスタム ヘッダーを指定し、クライアント側でリダイレクト プロセスを制御できます。
もう 1 つの潜在的な解決策には、リクエストを転送する前にヘッダーを変更できるサーバー側のプロキシまたはゲートウェイを使用することが含まれます。目的のページへ。このアプローチでは、リダイレクト応答にカスタム ヘッダーを挿入できますが、追加のサーバー側構成が必要となり、パフォーマンスのオーバーヘッドが発生する可能性があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3