为了账号安全,请及时绑定邮箱和手机立即绑定

在PHP中HTTP_HOST和SERVER_NAME有什么区别?

在PHP中HTTP_HOST和SERVER_NAME有什么区别?

PHP
慕田峪9158850 2019-06-29 15:04:36
在PHP中HTTP_HOST和SERVER_NAME有什么区别?你什么时候会考虑用一个而另一个,为什么?
查看完整描述

3 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

正如我在这个答案,如果服务器运行在80以外的端口上(在开发/Intranet计算机上可能很常见),那么HTTP_HOST包含端口,而SERVER_NAME不会的。

$_SERVER['HTTP_HOST'] == 'localhost:8080'$_SERVER['SERVER_NAME'] == 'localhost'

(至少我在基于Apache端口的虚拟主机中注意到了这一点)

请注意HTTP_HOST是吗?:443在HTTPS上运行时(除非您在非标准端口上运行,我还没有测试过)。

正如其他人所指出的,在使用IPv 6时,两者也有不同:

$_SERVER['HTTP_HOST'] == '[::1]'$_SERVER['SERVER_NAME'] == '::1'


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 1114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信