我开始学习套接字,并试图弄清楚为什么需要在请求中指定主机名。如果我已经连接到“www.google.com”,那么请求中的“主机:www.google.com\r\n”有什么意义?服务器不是已经知道自己的名字了吗?
有时服务器确实知道它的主机名,但并不总是 1:1 的关系。许多 DNS 主机名都可以指向同一个 IP,因此,1 个 IP 可以有多个 DNS 主机名。(此外,单个 DNS 主机名可以映射到多个 IP 地址,但这在这个问题中不太重要。)
Host:HTTP 请求中的这一行允许 Web 服务器知道您请求的主机名,并根据该主机名提供服务。这允许位于一个 IP 地址的一台机器为多个域提供服务。
例如,如果网络服务器看到Host: foo.com,它可能会为一个网站提供服务,但Host: bar.com可能会导致返回完全不同的结果。带有此信息的网络服务器没有其他可用数据,它依赖网络客户端来通知它。
| 归档时间: |
|
| 查看次数: |
4772 次 |
| 最近记录: |