为什么我的http请求标头字段中缺少主机?

时间:2016-05-08 04:18:44

标签: http go httprequest virtualhost virtual-hosts

我正在打印所有标题,我得到了:

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

1 个答案:

答案 0 :(得分:4)

它在Golang http docs上说明了:

  

对于传入请求,Host标头将提升为Request.Host   字段并从标题地图中删除。

所以你可以通过访问获得主机

  

http.Request.Host

点击此处查看详细信息:enter image description here