ホームページ >バックエンド開発 >PHPチュートリアル >PHP header() 関数: HTTP 応答ヘッダーの設定方法
PHP は、動的 Web ページ、Web サイト開発、サーバー管理によく使用されるサーバー側スクリプト言語です。 PHP では、header() 関数を使用して HTTP 応答ヘッダーを設定し、特定の HTTP プロトコル パラメーターを制御し、機能強化とセキュリティ保証を実現できます。
この記事では、PHP の header() 関数を使用して、一般的に使用されるいくつかの HTTP ヘッダー (Content-Type、Location、Cache-Control、X-XSS-Protection、など)、具体的なコード例を示します。
1. Content-Type 応答ヘッダー
Content-Type 応答ヘッダーは、HTTP 応答のコンテンツ タイプを指定し、返されたコンテンツを解析する方法をブラウザーに指示します。このヘッダーを設定すると、ブラウザーが応答のコンテンツ タイプを推測することがなくなり、正しいレンダリングが保証されます。
PHP コード例:
header("Content-Type: text/html; charset=UTF-8");
ここでは、コンテンツ タイプは text/html (text/HTML) に設定され、文字セットは UTF-8 として指定されています。その他の一般的なコンテンツ タイプには、application/json (JSON データ)、application/xml (XML ファイル)、image/png (PNG 画像) などがあります。必要に応じて設定できます。
2. Location 応答ヘッダー
Location 応答ヘッダーは、クライアントが要求したリソースがどの URL にジャンプするかを示すために HTTP リダイレクトでよく使用されます。このヘッダーはリダイレクトに必要な条件であり、ブラウザーが指定されたページにジャンプして関連コンテンツを表示できるようになります。
PHP コード例:
header("Location: https://www.example.com/page.php");
ここでは、リダイレクトされる URL が https://www.example.com/page.php に設定されています。このヘッダーを設定すると、ブラウザは自動的に指定されたページにジャンプし、対応するコンテンツを表示します。
3. Cache-Control 応答ヘッダー
Cache-Control 応答ヘッダーは、キャッシュ動作を制御するために使用され、サーバーからの応答コンテンツをキャッシュする方法をブラウザーに指示します。このヘッダーを適切に使用すると、Web サイトの帯域幅消費が効果的に削減され、アクセス速度とユーザー エクスペリエンスが向上します。
PHP コード例:
header("Cache-Control: max-age=3600, public");
ここでは、最大キャッシュ期間が 3600 秒 (1 時間) に設定されており、すべてのキャッシュで応答をキャッシュできることを指定しています。その他の一般的な命令には、no-cache (キャッシュが毎回サーバーにリクエストを送信するように強制する)、no-store (キャッシュが応答コンテンツをキャッシュすることを禁止する) などが含まれます。これらは実際のニーズに応じて設定できます。
4. セキュリティを確保し、ユーザーの個人情報を保護します。
PHP コード例:
header("X-XSS-Protection: 1; mode=block");
ここでは、X-XSS-Protection が 1 に設定されており、クロスサイト スクリプティング攻撃を防ぐ機能が有効になっていることを示し、「mode=block」が指定されています。攻撃が見つかった場合はページの読み込みを停止します。その他の設定方法については、W3Cのドキュメント(https://www.w3.org/TR/2011/WD-xss-filtering-20111129/#xss-request-headers)を参照してください。
概要
この記事では、PHP の header() 関数を使用して、Content-Type、Location、Cache-Control、X-XSS-Protection などの一般的な HTTP 応答ヘッダーを設定する方法を紹介します。使用済みのもの、ヘッダー設定、および具体的なコード例。実際の開発では、HTTP 応答ヘッダーを適切に使用すると、Web サイトの機能とセキュリティが効果的に強化され、ユーザー エクスペリエンスと信頼性が向上します。
以上がPHP header() 関数: HTTP 応答ヘッダーの設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。