http请求头中的host是什么意思

这篇具有很好参考价值的文章主要介绍了http请求头中的host是什么意思。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Host 是 HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术。

虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一主机上运行多个网站或服务。

举个栗子,有一台 ip 地址为 61.135.169.125 的服务器,在这台服务器上部署着谷歌、百度、火狐的网站。为什么我们访问 https://www.google.com 时,看到的是 Google 的首页而不是百度或者淘宝的首页?原因就是 Host 请求头决定着访问哪个虚拟主机。


在一个的服务器中,可能拥有多个 Host 的应用服务,此时仅仅通过 IP 无法访问到对应的服务,可通过 Host 来进行定位。

Host 是唯一客户端必须携带的请求头,如果缺失了该请求头则会返回 400 状态码。在 HTTP/2 以及 HTTP/3 中,以一个伪头 :authority 代替。

如果通过 curl 模拟 Host,可通过请求 IP 地址,并明确指定 Host 头部。

# 请求成功
$ curl http.devtool.tech    #ping也可以直接得到其ip

# 获取到其 IP 地址
$ dig +short http.devtool.tech
76.223.126.88

# 直接请求 IP,导致找不到该应用
$ curl 76.223.126.88

# 请求成功
$ curl 76.223.126.88 -H "Host: http.devtool.tech"

centos安装dig

yum install bind-utils

那为什么不用IP+端口呢?
因为IP+端口区分的是进程(服务), 而 Host区分的是目录(网站)
我们用80端口访问1.1.1.1的apache服务,而1.1.1.1内部有很多目录(网站) 文章来源地址https://www.toymoban.com/news/detail-538124.html

到了这里,关于http请求头中的host是什么意思的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 请求头中的Authorization

    header里面放Authorization,就是为了验证用户身份。 Authorization里面放的就是token,就相当于每次发送请求的时候,拦截器都会拦截一次你的请求,来验证请求的token与储存的token是否是一致的。 如果一致会把当前请求放行, 如果不一致那么服务器会截断你的请求并把错误码返给

    2024年02月03日
    浏览(40)
  • HTTP 协议中的请求头参数

    本文对http头部字段:Connection、Content-Length、Transfer-Encoding 、Content-Encoding、Content-Type 等进行介绍。 POST https://1.26.1.10:22/reportquery/v1/cc HTTP/1.1 Accept: / User-Agent: abcd Host: 1.26.1.10:22 Connection: Keep-Alive Content-Type: application/json;charset=UTF-8 Content-Length: 170 SequenceId: 6 ProvinceId: 32 X-TerminalNo:

    2023年04月09日
    浏览(39)
  • 前端下载后端返回的文件流,取请求头中的文件名称

    但是用上面的方法发现只能顺利下载文件, res.headers[\\\"content-disposition\\\"] 取不到后端给前端返回的请求头。 通过问题排查发现: 如图,前端需要取的 res.headers 和 res.data 是一层的,当拦截器中返回 res.data 后,就取不到外层的 headers, 因此前端要自己写 axios 请求方法 但是前端依

    2024年02月01日
    浏览(43)
  • [神坑已解决]Http请求参数中的加号被转换为空格的问题

    前端传参数之前,将参数值加密为sdfsdf+sdf,传递给后端之后,后端tomcat自动将str中的加号变为空格 - sdfsdf sdf(🤬🤬🤬这就是后端接收到的参数值param,加号未被识别变成了空格) 所以我们要将后端解密的时候的值作修改,进而解密得到正确的数据。 加密后的数据 - tomcat

    2024年04月16日
    浏览(35)
  • Spring/SpringBoot 过滤器修改、获取http 请求request中的参数 和 response返回值,比如修改请求体和响应体的字符编码

    通过自定义filter,RequestWrapper,ResponseWrapper 处理请求和响应数据,比如修改请求体和响应体的字符编码 1.request 和 response 中的数据都是 存在流中的(缓存中)获取一次就没有了,需要重新写回去。所以需要两个包装类分别继承HttpServletRequestWrapper 和 HttpServletResponseWrapper 对 r

    2024年02月15日
    浏览(39)
  • http RequestConfig配置类中各参数的意思

    RequestConfig类是Apache HttpClient中的一个配置类,用于设置HTTP请求的配置参数。下面是RequestConfig中各参数的详细解释和代码示例: connectTimeout:连接超时时间,即连接建立的最长时间,超过此时间则抛出ConnectTimeoutException异常。默认值为0,表示无限等待。 示例代码: 这里的连接

    2024年02月09日
    浏览(28)
  • 计算机网络—HTTP基本概念、HTTPS、HTTP状态码、HTTP缓存、HTTP请求

    参考小林coding HTTP是超文本传输协议。所谓的超文本,就是超越了普通文本的文本,最关键的是有超链接,能从一个超文本跳转到另一个超文本。 HTML是最常见的超文本,本身是纯文字文件,但是内部使用很多标签定义图片、视频等链接,再经过浏览器的解释,呈现出来的就是

    2024年02月07日
    浏览(47)
  • 计算机网络——如何构造HTTP请求

            构造HTTP请求的常见方式有,通过form表单标签来实现,通过ajax来实现,这两种是通过HTML/JS来实现的,还可通过java使用Socket来进行构造(本质就是根据不同的格式来解析字符串,处理请求),最简单的也可以使用一些工具来进行构造,比如使用postman来进行构造。

    2023年04月08日
    浏览(61)
  • git push -u参数是什么意思?

    git push的时候,有时候会用-u参数,有时候不适用。这是为什么呢? branch..merge Defines, together with branch..remote, the upstream branch for the given branch. It tells git fetch/git pull which branch to merge and can also affect git push (see push.default). When in branch , it tells git fetch the default refspec to be marked for merg

    2024年02月01日
    浏览(36)
  • HTTP Host 头攻击是什么?

    💂 个人网站:【海拥】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 随着互联网的发展,网络安全问题变得日益重要。HTTP Host头攻击作为一种常见的网络攻

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包