/ NOTES

《图解HTTP》读书笔记(四)

《图解 HTTP》读书笔记(四)

返回结果的 HTTP 状态码;与 HTTP 协作的 Web 服务器

服务器如何区分客户端想访问的是它上面的哪个站点?

HTTP/1.1 规范允许一台 HTTP 服务器搭建多个不同域名的 Web 站点,但是,域名通过 DNS 服务映射到 IP 地址之后,由于它们访问的是同一个服务器,IP 地址也是相同的,那么服务器如何区分呢?

首先,能搭建多个 Web 站点,是利用了虚拟主机 (Virtual Host) 的功能。即使物理层面只有一台服务器,但使用虚拟主机功能可以使得表面上看上去有多台。

相同的 IP 地址下,虚拟主机可以寄存多个不同主机名和域名的 Web 网站。

因此,Web 托管服务 (Web Hosting Service) 的供应商,可以用同一台服务器为多为客户服务,也可以以每位客户持有的域名运行各自不同的网站。

假如服务器内托管了多个域名,当收到请求时,就需要弄清楚究竟要访问哪个域名。接受时显然是无法弄清楚的,只能从发送时下手。因此在发送 HTTP 请求时,必须在 Host 首部内完整指定主机名和域名的 URI