概要
PHPでは、header()関数を使うことによって、生のHTTPヘッダを生成し送ることが出来ます。
PHPの公式マニュアルでは、header関数の書式は次のようになっています。
header ( string $header , bool $replace = true , int $response_code = 0 ) : void
$header
この引数には、二つの記述法があります。
1つは、”HTTP/1.1 (ステータスコード)”という書き方です。
まず、大文字のHTTPの後に/とHTTPのバージョンを書きます。
その後に空白を入れて、”200 OK”のようなステータスコードを入力します。
例えば、
header("HTTP/1.1 200 OK");
のような感じです。
この記述法によって、任意のステータスコードを返すことが出来ます。
2つ目は、”(HTTPヘッダ): “のような書き方です。
HTTPヘッダには、LocationやContentTypeなどの実際のHTTPヘッダが入ります。
replace
一度使ったHTTPヘッダに置換するかを指定します。
falseにすると、新しくHTTPヘッダを作ります。
response_code
HTTPの”200″, “404”などのレスポンスコードを設定することが出来ます。
使用法
使用方法としては、第一引数の$headerを用いた使用法が多いです。
例えば、存在しないページへのリクエストに”404 Not Found”を送りたい場合やLocationヘッダを用いたリダイレクトなどです。
//存在しなページにアクセス
header("HTTP/1.1 404 Not Found");
//別のページにリダイレクトを行いたい
header("Location: http://www.example.com/aaa");
コメント