HTTP ステータスコード 418 I’m a tea pot のページを実装してみた

I’m a tea pot

HTTP ステータスコードとは、ブラウザ等でサーバーにアクセスした時にサーバーから返ってくる応答コードのことである。

HTTP ステータスコードは色々あって、
有名どころでは、200、403、404、500 などがある。

番号 英語 意味
200 OK アクセス成功
403 Forbidden アクセス禁止
404 Not Found 見つからなかった
500 Internal Server Error サーバー内部でエラー

ブラウザでインターネットを閲覧してる人なら一度は見たことがあるだろう。

これらは、大まかな分類では、以下のような数字が割り当てられている。

番号 概要
100番台 情報
200番台 成功
300番台 リダイレクト
400番台 クライアントエラー
500番台 サーバーエラー

上表のうち、400番台には 418 I’m a teapot というものがある。

番号 英語 意味
418 I’m a teapot 私はティーポット

「私はティーポット」とは何か?

418 I’m a teapot というコードは、

「ティーポットにコーヒーを淹れさせようとして、拒否された場合に返すとされる」

というジョークのコードであり、
1998年4月1 のエイプリルフールに作成されたものが、そのまま実装されたコードである。

ジョークコードなので、実用性はほぼ無く見かけることもあまりないが、まれに実装されてることがある。

Google が実装している 418 I’m a teapot

実装されているサイトは、限りなく少ないが、
Google には 418 I’m a teapot のページが存在する。

Google の 418 I’m a teapot ページ

Google の 418 ページ

ちなみに、Google の 418 ページでは、ティーポットをクリックすると、お茶を淹れてくれますw

当ページでも 418 ページを実装してみた

と言うわけで(どういうわけだ?)

当サイトでも、418 I’m a teapot のページを実装してみた。

当サイトの 418 I’m a teapot ページ

当サイト の 418 ページ

仕組みは単純に PHP でヘッダーを 418 にして出力してるだけ。

418 のコードは、正確には HTTP の拡張である HTCPCP というプロトコルだが、
HTCPCP/1.0 というのは実装されてないので、プロトコルは HTTP。

$protocol = $_SERVER['SERVER_PROTOCOL'];
if( in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ) ) === false ) {
	$protocol = 'HTTP/1.0';
}
header( "$protocol 418 I'm a teapot" );

このページにアクセスすると、以下のように 418 が返される。

なんで、こんなページ作ったのか? と言うと、

Google Webmasters で「418 I’m a teapot」がどういう扱いになるのかを見てみたかったからw

まぁ、なんとなく予想はできるけど、Google がクロールしてくれたら、また追記します。

IT・ICT

Posted by るな