在Nginx中$host和$http_host有什么区别?

h o s t 如 果 H o s t 头 不 可 用 , 则 此 变 量 等 于 请 求 头 中 的 H o s t H o s t 或 处 理 请 求 的 服 务 器 的 名 称 。 在 这 种 情 况 下 , 该 变 量 可 能 与 host 如果Host头不可用,则此变量等于请求头中的Host Host或处理请求的服务器的名称。 在这种情况下,该变量可能与 hostHostHostHost http_host具有不同的值:1)当主机输入标题不存在或具有空值时,$ host等于server_name指令的值; 2)当Host的值包含端口号时,$ host不包含该端口号。自0.8.17以来,$ host的值总是小写。

h t t p h o s t 也 是 同 一 个 模 块 的 一 个 变 量 , 但 你 不 会 找 到 它 的 名 字 , 因 为 它 一 般 被 定 义 为 http_host也是同一个模块的一个变量,但你不会找到它的名字,因为它一般被定义为 httphosthttp_HEADER(ref)。

$ HTTP_HEADER
HTTP请求标题HEADER在转换为小写字母并将’破折号’转换为’下划线’时的值,例如$ http_user_agent,$ http_referer …;

总结:

$http_host始终等于HTTP_HOST请求标题。
h o s t 等 于 host等于 hosthttp_host,小写并且没有端口号(如果存在),除非HTTP_HOST不存在或是空值。在这种情况下,$host等于server_name处理请求的服务器的指令值。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值