
No.2ベストアンサー
- 回答日時:
$_SERVERはサーバーの環境変数やPHPの情報を保存した配列です。
$_SERVERのうち、環境変数はgetenv()でも取得できます。
$_SERVER["SERVER_NAME"]で取得できる名前は
Apacheの場合はhttpd.confで、
UseCanonicalNameがOnになっているときに、ServerNameで指定された値が使われます。
UseCanonicalNameがOffになっていると、ドメイン名やIPアドレスになります。
UseCanonicalNameがOffになっていて、http://127.0.0.1:8001/のようにポート指定でアクセスした場合は、ポート番号は除かれます。
HTTP_HOSTはHTTPでアクセスしたときのホスト名、つまりドメイン名+ポート番号がそれに当たります。
(厳密には違うかも知れませんが、、、)
http://www.ietf.org/rfc/rfc2616.txt
VirtualHostを使ってポート指定でアクセスすると違いが出ますが、
デフォルトでUseCanonicalNameはOffになっていますし、ホスティングサービスではOnにする理由もありません。
http://httpd.apache.org/docs/2.0/ja/mod/core.htm …
(「これが有用な場合の例は、」の段落参照。主にイントラネット向け?)
、、、と書くのはいいとして、私自身、UseCanonicalNameやホスト名の意味や使い方をわかっていません。
こうすれば違いが出るということだけですが、
ご参考まで。
No.1
- 回答日時:
$_SERVERとはhttpサーバーの環境変数です
なのでPHPは直接は関係ありません。
HTTP_HOSTはブラウザからリクエストされた名前で
SERVER_NAMEはサーバー側が自分で持っている名前です。
HTTP_HOSTがないような場合はSERVER_NAMEは自分で持っている
名前をブラウザに返すようでおもにCGIなどに利用されます。
設定によっては別の名前を返しますが、ほとんどの場合
SERVER_NAMEはHTTP_HOSTと同値になるようですね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dell Inspiron 14 5415 をコン...
-
ワイヤレスマウスUSBレシーバー...
-
自分のパソコンのデバイスマネ...
-
thunderbolt3ポートについて
-
https://www.stormst.com/produ...
-
なかなか決めれなくて悩んでま...
-
PCのUSBポートの不具合と対処法...
-
マザーボードのSATAポートの故障
-
USB3 が2つ同時使用できるwin8 PC
-
マザーボード
-
プリンタのUSB接続について(LP...
-
マザーボードに取り付けたハー...
-
インターフェースボードの排他...
-
ファミマで通販の商品を15個お...
-
このポートの名前を教えてください
-
EXCEL-VBAからPowerPointファイ...
-
LaVie L LL750/H 左右のUSBが使...
-
【至急】 自作OCを組んだのです...
-
スイッチのポート番号について
-
自作パソコンのパーツの組み合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
8000番や8080番のポー...
-
スイッチのポート番号について
-
ポートの80と443
-
ワイヤレスマウスUSBレシーバー...
-
コマンドプロンプトで、ポート...
-
EXCEL VBAで、PnPでCOMポート番...
-
Windows10におけるUSB-RS232C機...
-
プリンタのUSB接続について(LP...
-
Supermodelのエミュレーターに...
-
Dell Inspiron 14 5415 をコン...
-
ポートの名前 スマホやWiFiなど...
-
ポート80を閉じたいのですが
-
自分のパソコンのデバイスマネ...
-
8080ってなんですか?
-
バンジージャンプのデータを貰...
-
Port9100印刷の説明
-
PIDが0のプロセスがポートを空...
-
ポートスキャン時のunknownの意...
-
Windows 11のパソコンで、ポー...
-
microsoft-ds(445)とnetbios(13...
おすすめ情報