SERVER_NAME vs HTTP_HOST

$_SERVER[‘SERVER_NAME’] と $_SERVER[‘HTTP_HOST’] どっちを使うべきか。
 
SERVER_NAME Versus HTTP_HOST
 
結論から
– HTTP_HOST
単純に HTTP リクエストヘッダの host: そのままが格納される。省略されると空文字列になる。
– SERVER_NAME
HTTP リクエストヘッダで host: が指定されていれば、

htmlentities($_SERVER[‘HTTP_HOST’])

と等価になる。
host ヘッダが省略された場合はサーバデフォルト(Apache なら httpd.conf の ServerName)と等価になる。
 
とのことです。いずれにせよ、信頼できる値ではありませんね。
 
参考:
Chris Shiflett: SERVER_NAME Versus HTTP_HOST(blog.xole.net)