ホームページ  >  記事  >  バックエンド開発  >  PHPにおけるヘッダー関数の役割の分析

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

黄舟
黄舟オリジナル
2017-11-10 16:16:251789ブラウズ

前回の記事では、ヘッダーの定義について説明しましたが、このタイトルを見たときに、元の 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. リダイレクト

header(&#39;Content-type: application/pdf&#39;);

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。