【问题标题】:why is host missing from my http request header fields?为什么我的 http 请求标头字段中缺少主机?
【发布时间】:2016-09-02 22:20:54
【问题描述】:

我打印出所有的标题,我得到了:

map[Cookie:[_ga=GA1.2.843429125.1462575405] User-Agent:[Mozilla/5.0
(Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko)
Version/9.0.3 Safari/601.4.4] Accept-Language:[en-us] 
Accept-Encoding:[gzip, deflate] Connection:[keep-alive] 
Accept:[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]]

这意味着我的浏览器正在发送“Cookie”、“User-Agent”、“Accept-Language”、“Accept-Encoding”、“Connection”和“Accept”,但没有“Host”值。

如果没有这个值,我怎样才能让我的https://en.wikipedia.org/wiki/Virtual_hosting 工作?

我正在使用https://github.com/gin-gonic/gin

【问题讨论】:

  • 这是 HTTP/1.x 还是 HTTP/2 请求?
  • http/1.x 不是 http2

标签: http go httprequest virtualhost virtual-hosts


【解决方案1】:

Golang http 文档中有说明:

对于传入的请求,将 Host 标头提升为 Request.Host 字段并从 Header 映射中删除。

这样就可以通过访问得到主机了

http.Request.Host

查看这里了解详情:https://golang.org/pkg/net/http/

【讨论】:

  • 感谢您的帮助!太烦人了,他们不把它当作一个普通的 http 头。在您在线找到正确答案之前,它是无声且难以弄清楚的。
猜你喜欢
  • 1970-01-01
  • 2015-11-08
  • 2018-02-03
  • 2022-01-19
  • 2017-12-19
  • 2019-06-04
  • 1970-01-01
  • 2018-04-15
相关资源
最近更新 更多