ホームページ > バックエンド開発 > PHPチュートリアル > PHPにおけるヘッダー関数の役割の分析

PHPにおけるヘッダー関数の役割の分析

黄舟
リリース: 2023-03-17 10:22:02
オリジナル
1847 人が閲覧しました

前回の記事では、ヘッダーの定義について説明しましたが、このタイトルを見たときに、元の HTTP ヘッダーがクライアントに送信されることを前に紹介しましたよね?本当にそうなのか?今回はphpのheader関数が何をするのかを説明します。

まずは公式ドキュメントの定義を見てみましょう

(PHP 4, PHP 5, PHP 7)

header — ネイティブHTTPヘッダーを送信

1 void header ( string $string [, bool $replace = true [, int $http_response_code ]] )
ログイン後にコピー

Parameters:

string

特別なヘッドは2つあります。 「HTTP/」で始まる最初のコード (大文字と小文字は区別されません) は、送信される HTTP ステータス コード を計算するために使用されます。 たとえば、Apache サーバー上で PHP スクリプトを使用して、存在しないファイルへのリクエストを処理する場合 (ErrorDocument ディレクティブを使用)、スクリプトが正しいステータス コードで応答することを期待するでしょう。

1 <?php
2 header("HTTP/1.0 404 Not Found");
3 ?>
ログイン後にコピー

2番目の特殊なケースは、「Location:」ヘッダー情報です。ステータス コードが事前に 201 または 3xx に設定されていない限り、ブラウザにメッセージを送信するだけでなく、REDIRECT (302) ステータス コードもブラウザに返します。

1 <?php
2 header("Location: http://www.example.com/"); /* Redirect browser */
3 
4 /* Make sure that code below does not get executed when we redirect. */
5 exit;
6 ?>
ログイン後にコピー
  • <code class="parameter">  <span style="font-family: Microsoft YaHei">replace</span>

  •  可选参数 replace 表明是否用后面的头替换前面相同类型的头。 默认情况下会替换。如果传入 FALSE,就可以强制使相同的头信息并存。例如:

1 <?php
2 header(&#39;WWW-Authenticate: Negotiate&#39;);
3 header(&#39;WWW-Authenticate: NTLM&#39;, false);
4 ?>
ログイン後にコピー

  http_response_code

    强制指定HTTP响应的值。注意,这个参数只有在报文字符串stringreplace

オプションのパラメータreplace を示します同じタイプの前のヘッダーを後のヘッダーに置き換えるかどうか。 デフォルトで置き換えられます。

FALSE

を渡すと、同じヘッダー情報を強制的に共存させることができます。例:

header(&#39;Location: http://www.example.com/&#39;);
ログイン後にコピー

http_response_code

HTTPレスポンスの値を強制します。このパラメータはメッセージ string (string<) でのみ使用できることに注意してください。 /コード>)は空ではありません。

ヘッダー関数の一般的な使用法は次のとおりです:

1. リダイレクト

2. コンテンツを指定します:

header(&#39;Content-type: application/pdf&#39;);
    //指定内容为附件,指定下载显示的名字
    header('Content-Disposition: attachment; filename="downloaded.pdf"');
    //打开文件,并输出
    readfile('original.pdf')
ログイン後にコピー
3. 添付ファイル: りー上記のコードは、ブラウザーにファイル ダイアログ ボックスを生成できます

4. ユーザーがキャッシュの代わりに最新のデータとデータを取得できるようにします

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");   // 设置临界时间
ログイン後にコピー

詳細な例

ログイン後にコピー

🎜🎜🎜 概要: 🎜🎜🎜🎜この記事を読んだ後、皆さんはphpのヘッダー関数の役割を理解したと思います。それがあなたの仕事に役立つことを願っています。 🎜🎜🎜🎜関連する推奨事項: 🎜🎜🎜🎜🎜phpでのヘッダー定義の詳細な説明🎜🎜🎜🎜🎜

PHPヘッダー関数の使い方を解説


PHPヘッダー失敗の原因分析と解決策


PHPヘッダージャンプの詳細分析

以上がPHPにおけるヘッダー関数の役割の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート