ヘッダー関数

WBOY
WBOYオリジナル
2016-08-08 09:32:21887ブラウズ

ページにヘッダーがいくつあっても、常に最後のヘッダーが実行されますが、これは条件付きです。例:

header('Location:http://www.nowamagic.net'); 
header('Location:http://www.g.cn'); 
header('Location:http://www.baidu.com'); 

これは Baidu にジャンプします

header 関数の役割

PHP はヘッダーを送信するだけですHTML ドキュメントから HTTP プロトコルへの変換 ブラウザは、このページの処理方法をブラウザに指示します。HTTP プロトコルについては、PHP とは関係がありません。

従来のヘッダーには、次の 3 つのヘッダーのいずれかを含める必要があり、一度だけ出現できます:

Location: xxxx:yyyy/zzzz 
Content-Type: xxxx/yyyy 
Status: nnn xxxxxx 

HTTP プロトコルの動作方法

HTTP プロトコルは、リクエスト/レスポンス パラダイムに基づいています。クライアントはサーバーとの接続を確立した後、サーバーにリクエストを送信します。リクエストの形式は、合意されたリソース識別子、プロトコルのバージョン番号、その後にリクエスト修飾子、クライアント情報、および考えられるコンテンツを含む MIME 情報が続きます。サーバーはリクエストを受信すると、情報のプロトコル バージョン番号、成功コードまたはエラー コード、その後にサーバー情報、エンティティ情報、および考えられるコンテンツを含む MIME 情報を含むステータス行形式の応答情報で応答します。

HTTPプロトコルでは、サーバーはHTTPサービスを提供する部分を指し、クライアントは使用するブラウザやダウンロードツールなどを指します。通信中、クライアントは接続リクエストを送信し、サーバーは接続を確立します。その後、クライアントは HTTP リクエスト (Request) を送信し、サーバーは応答情報を返します (Respond)。これにより、 で表される HTTP 操作

が完了します。 HTTPプロトコルステータスコード 意味

1××  保留 
2××  表示请求成功地接收 
3××  为完成请求客户需进一步细化请求 
4××  客户错误 
5××  服务器错误   

動作例

リダイレクト機能

 Header("Location: http://www.php.net/");

クライアント上に存在するキャッシュを使用する代わりに、ユーザーがこのページにアクセスするたびに最新情報を取得するように強制する

//告诉浏览器此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT"); 
//告诉浏览器此页面的最后更新日期(用格林威治时间表示)也就是当天,目的就是强迫浏览器获取最新资料 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); 
//告诉客户端浏览器不使用缓存 
header("Cache-Control: no-cache, must-revalidate"); 
//参数(与以前的服务器兼容),即兼容HTTP1.0协议 
header("Pragma: no-cache"); 
//输出MIME类型 
header("Content-type: application/file"); 
//文件长度 
header("Content-Length: 227685"); 
//接受的范围单位 
header("Accept-Ranges: bytes"); 
//缺省时文件保存对话框中的文件名称 
header("Content-Disposition: attachment; filename=$filename"); 


ステータス値をブラウザに出力します。主にアクセス制御に使用されます

header('HTTP/1.1 401 Unauthorized');
header('status: 401 Unauthorized');

たとえば、ユーザーがこのページにアクセスすることを制限したい場合は、以下に示すようにステータスを 404 に設定して、ブラウザがページが存在しないことが表示されます
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
注: 従来のヘッダーには、次の 3 つのヘッダーのいずれかを含める必要があり、一度だけ表示できます。 Content-Type: xxxx/yyyy Location: xxxx:yyyy/zzzz Status: nnn xxxxxx は、新しいマルチパート ヘッダー仕様 (Multipart MIME) で 2 回以上出現する可能性があります。

ユーザーにファイルをダウンロードさせます

header("Content-type: application/x-gzip"); 
header("Content-Disposition: attachment; filename=文件名"); 
header("Content-Description: PHP3 Generated Data"); 

以上、ヘッダー関数の側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

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