具有空值的HTTP主机字段,响应400

时间:2017-12-04 14:01:48

标签: http

执行此命令时:

curl -H "Host:" http://127.0.0.1

它响应400 Bad request。

来自http rfc:

  

如果请求的URI不包含所请求服务的Internet主机名,则必须为Host头字段指定一个空值。

为什么呢?

1 个答案:

答案 0 :(得分:0)

因为-H "Host:"完全删除了标题。请参阅docs for -H, --header <header/@file>

  

[...]通过在冒号右侧提供没有内容的替换来删除内部标题,如:-H&#34; Host:&#34;。 如果您发送带有无值的自定义标头,则其标头必须以分号终止,例如-H&#34; X-Custom-Header;&#34;发送&#34; X-Custom-Header:&#34;。

您需要-H "Host;"发送空的主机标头。