レスポンスの評価 --
HTTP レスポンスからの情報を評価する
導入
HTTP は Request - Response
スキームに基づいたプロトコルなので、
全ての HTTP リクエストは HTTP レスポンスに追随されます。
HTTP_Request は、
それらのレスポンスからの情報を評価するいくつかのメソッドを提供しています。
レスポンスコード
HTTP レスポンスの重要な部分は、レスポンスコードです。
最も良く知られたレスポンスコードは、
おそらく何度かブラウザで見たことがある 404 でしょう。
404 の意味は、
リクエストされたリソースを見つけることができなかった、ということです。
ステータスコードの完全なリストは、
RFC 2616 に見つけることができます。
例 48-1レスポンスコードをチェックする require_once "HTTP/Request.php";
$urls = array(
"http://www.example.com/",
"http://example.com/thisdoesnotexist.html"
);
$req =& new HTTP_Request("");
foreach ($urls as $url) {
$req->setURL($url);
$req->sendRequest();
$code = $req->getResponseCode();
switch ($code) {
case 404:
echo "Document not found\n";
break;
case 200:
echo "Everything's ok\n";
break;
/* ... */
}
} |
|
レスポンスヘッダ
HTTP リクエストと同様、HTTP レスポンスはヘッダとボディで構成されます。
HTTP_Request は、
レスポンスヘッダにアクセスするためのメソッドを提供します。
例 48-2レスポンスからの全てのヘッダを取得する require_once "HTTP/Request.php";
$req =& new HTTP_Request("http://example.com/");
$req->sendRequest();
foreach ($req->getResponseHeader() as $name => $value) {
echo $name . " = " . $value . "\n";
} |
これは、全てのヘッダと付随する値を表示します。
|
例 48-3特定のヘッダを取得する require_once "HTTP/Request.php";
$req =& new HTTP_Request("http://example.com/");
$req->sendRequest();
echo $req->getResponseHeader("Date"); |
これは、Date: ヘッダの値を表示します。
|
クッキーのレスポンス
HTTP レスポンスの一部であるクッキーを取得については、
Cookies
に記載されています。