5月阅读周·HTTP权威指南:Web主机托管之虚拟主机托管篇

举报
叶一一 发表于 2025/05/20 23:37:23 2025/05/20
【摘要】 引言HTTP(Hypertext Transfer Protocol,超文本传输协议)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于Web浏览器和Web服务器之间的双工通信。《HTTP权威指南》一书将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节介绍HTTP各方面的特性。纵观全书,对HTTP“为什么”这样做进行了详细的解释,而不...

引言

HTTP(Hypertext Transfer Protocol,超文本传输协议)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于Web浏览器和Web服务器之间的双工通信。

《HTTP权威指南》一书将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节介绍HTTP各方面的特性。纵观全书,对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。此外,这本书还介绍了很多HTTP应用程序正常工作所必需且重要的非HTTP技术。

这本书主要包括以下内容:

  • 第一部分描述了Web的基础构件与HTTP的核心技术
  • 第二部分重点介绍了Web系统的结构构造块:HTTP服务器、代理、缓存、网关以及机器人应用程序。
  • 第三部分提供了一套用于追踪身份、增强安全性以及控制内容访问的技术和技巧。
  • 第四部分涵盖HTTP报文主体和Web标准,前者包含实际内容,后者描述并处理主体内容。
  • 第五部分介绍了发布和传播Web内容的技巧。
  • 第六部分是一些很有用的参考附录,以及相关技术的教程。

Web主机托管

当你把资源放在公共的Web服务器上时,因特网社区就可以使用它们了。这些资源可以是简单的文本文件或图像,也可以是复杂的实时导航地图或电子商务购物网关。能够将这些由不同组织拥有的种类繁多的资源便利地发布到网站上,并将其放置在能以合理价格提供很好性能的Web服务器上,是很关键的。

对内容资源的存储、协调以及管理的职责统称为Web主机托管。主机托管是Web服务器的主要功能之一。保存并提供内容,记录对内容的访问以及管理内容都离不开服务器。如果不想自行管理服务器所需的软硬件,就需要主机托管服务,即托管者。托管者出租服务和网站管理维护业务,并提供各种不同程度的安全级别、报告及易用性。托管者通常把很多网站放在一些强大的Web服务器上联合运行,这样可以获得更高的成本效益、可靠性和性能。

主机托管服务

在万维网的早期,每个组织自行购买自己的计算机硬件,搭建自己的计算机房,申请自己的网络连接,并管理自己的Web服务器软件。

简单例子——专用托管

假设Joe的五金商店和Mary的古董拍卖店都需要大容量的网站。Irene网络服务提供商那里有很多机架,机架上全是一样的高性能Web服务器,可以租给Joe和Mary,这样,他俩就不用自行购买自己的服务器并管理服务器软件了。

例如,Joe和Mary都签约使用Irene的网络服务提供商提供的专用Web托管服务。Joe租了专用的Web服务器,该服务器是Irene网络服务提供商购买和维护的。Mary也从Irene网络服务提供商那里租了另一个专用服务器。Irene网络服务提供商大批量地购买服务器硬件,它们选择的硬件经久耐用且相对便宜。如果Joe或Mary的网站变得更受欢迎,Irene网络服务提供商可以立刻给Joe或Mary提供更多的服务器。

虚拟主机托管

许多人想要在Web上展现自己,但他们的网站流量都不大。对这些人来说,使用专用的Web服务器可能有点儿大材小用,因为他们每月花费数百美元租来的服务器大部分时间都是空闲的!

许多Web托管者通过让一些顾客共享一台计算机来提供便宜的Web主机托管服务。这称为共享主机托管或虚拟主机托管。每个网站看起来是托管在不同的服务器上,但实际上是托管在同一个物理服务器上。从最终用户的角度来看,被虚拟托管的网站应当和托管在专用服务器上的网站没什么区别。

从成本效益、空间以及管理方面考虑,提供虚拟主机托管的公司希望能在同一个服务器上托管数十、上百,甚至上千个网站——但这不一定意味着上千个网站是用一台PC机来提供服务的。托管者可以创建成排同样的服务器,称为服务器集群(server farm),把负载分摊在群里的服务器上。因为群里的每台服务器都一样,并且托管了许多虚拟网站,所以管理起来更加方便。

当Joe和Mary刚开始商务运作时,他们可能会选择虚拟主机托管,以节省费用,直到他们网站的流量规模达到值得使用专用服务器的水平为止。

不幸的是,HTTP/1.0中的一个设计缺陷会使虚拟主机托管者抓狂。HTTP/1.0规范中没有为共享的Web服务器提供任何方法来识别要访问的是所托管的哪个虚拟网站。回想一下,HTTP/1.0请求在报文中只发送了URL的路径部分。如果要访问http://www.xxx.com/index.html,浏览器会连接到服务器www.xxx.com,但HTTP/1.0请求中只提到GET/index.html,没有提到主机名。如果服务器虚拟托管了多个站点,就没有足够的信息能指出要访问的是哪个虚拟网站。

  • 如果客户端A试图访问http://www.xxx.com/index.html,请求GET/index.html将被发送到共享的Web服务器。
  • 如果客户端B试图访问http://www.xxx.com/index.html,同样的请求GET/index.html也将被发送到共享的Web服务器。

就Web服务器而言,没有足够的信息可供其判断究竟要访问的是哪个网站。尽管请求的是完全不同的文档(来自不同的网站),但这两个请求看起来是一样的,这是因为网站的主机信息已经从请求中剥离了。

总结

随着Web迅速成为主流,每人都想要一个网站,但很少有人有能力或时间来搭建带空调的服务器机房,注册域名,或购买网络带宽。为了满足人们的迫切需求,出现了很多新的企业,提供了专业化管理的Web主机托管服务。服务级别有多种,从物理上的设备管理(提供空间、空调以及线缆)到完整的Web主机托管,顾客只需要提供内容就行了。


作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏️ | 留言📝

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: [email protected]
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。