前の記事 ≪:Zend Framework標準コーディング規約
次の記事 ≫:パスワード強度チェッカー

SERVER_NAMEとHTTP_HOSTの違い

2006年05月11日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法

Chris Shiflett: SERVER_NAME Versus HTTP_HOST

SERVER_NAMEとHTTP_HOSTの比較。
次のように値を取得すると一見、どちらも同じ値を取得できます。(値はリクエストしたサーバのホスト名)

$_SERVER["SERVER_NAME"];
$_SERVER["HTTP_HOST"];

ただ、それぞれにおいて、取得方法が違ってきます。

HTTP_HOSTはリクエスト時に host:〜 で指定した値が返され、
SERVER_NAMEは、リクエスト時の host:〜 を使うものの、指定が無い場合は httpd.conf等に記述したServerNameディレクティブがデフォルトで使われます。
更にSERVER_NAMEはhtmlentitiesによってエスケープされるようです。

リクエストヘッダーの値をそのまま取りたい場合はHTTP_HOSTを使い、値を取得しなんらかの形で利用する場合はSERVER_NAMEを使ったほうがよい感じでしょうか。
なかなか面白い比較でした。

関連の記事検索:PHP, チュートリアル, 環境変数, Web制作
スポンサード リンク

By.KJ : 2006年05月11日 12:06 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)