5月阅读周·HTTP权威指南:Web主机托管之使网站更可靠篇

举报
叶一一 发表于 2025/05/20 23:38:24 2025/05/20
126 0 0
【摘要】 引言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服务器,互相可以替换。每个服务器上的内容可以通过镜像复制,这样当某个服务器出问题的时候,其他的可以顶上。

镜像的服务器常常组成层次化的关系。某个服务器可能充当“内容权威”——它含有原始内容(可能就是内容作者上传的那个服务器)。这个服务器称为主原始服务器(master origin server)。从主原始服务器接收内容的镜像服务器称为复制原始服务器(replica origin server)。一种简单的部署服务器集群的方法是用网络交换机把请求分发给服务器。托管在服务器上的每个网站的IP地址就设置为交换机的IP地址。

在镜像服务器集群中,主原始服务器负责把内容发送给复制原始服务器。对集群外部来说,内容所在的IP地址就是交换机的IP地址。交换机负责把请求发送到服务器上去。

镜像Web服务器可以在不同的地点包含同样内容的副本。图18-7展示了4个镜像服务器,其中主服务器在芝加哥,复制服务器在纽约、迈阿密和小石城。主服务器为芝加哥地区的客户端服务,并肩负把内容传播给复制服务器的任务。

有以下两种方法把客户端的请求导向特定的服务器。

  • HTTP重定向:该内容的URL会解析到主服务器的IP地址,然后它会发送重定向到复制服务器。
  • DNS重定向:该内容的URL会解析到4个IP地址,DNS服务器可以选择发送给客户端的IP地址。

内容分发网络

简单地说,内容分发网络(CDN)就是对特定内容进行分发的专门网络。这个网络中的节点可以是Web服务器、反向代理或缓存。

CDN中的反向代理缓存

复制原始服务器可以用反向代理(也称为替代物)缓存来代替。反向代理缓存可以像镜像服务器一样接受服务器请求。它们代表原始服务器中的一个特定集合来接收服务器请求。(根据内容所在的IP地址的广告方式,这是有可能的,原始服务器和反向代理缓存之间通常有协作关系,到特定的原始服务器的请求就由反向代理缓存来接收。)

反向代理和镜像服务器之间的区别在于反向代理通常是需求驱动的。它们不会保存原始服务器的全部内容副本,它们只保存客户端请求的那部分内容。内容在其高速缓存中的分布情况取决于它们收到的请求,原始服务器不负责更新它们的内容。为了更容易地访问“热点”内容(就是高请求率的内容),有些反向代理具有“预取”特性,可以在用户请求之前就从服务器上载入内容。

CDN中带有反向代理时,可能会由于存在代理的层次关系而增加其复杂性。

CDN中的代理缓存

代理缓存也可以部署在类似图18-6和图18-7的环境中。与反向代理不同,传统的代理缓存能收到发往任何Web服务器的请求。(在代理缓存与原始服务器之间不需要有任何工作关系或IP地址约定。)但是与反向代理比起来,代理缓存的内容一般都是按需驱动的,不能指望它是对原始服务器内容的精确复制。某些代理缓存也可以预先载入热点内容。

按需驱动的代理缓存可以部署在其他环境中——尤其是拦截环境,在这种情况下,2层或3层设备(交换机或路由器)会拦截Web流量并将其发送给代理缓存。

拦截环境依赖于在客户端和服务器之间设置网络的能力,这样,所有合适的HTTP请求才能真正发送到缓存中去。根据收到的请求,将内容分布在缓存中。

让网站更快

服务器集群和分布式代理缓存或反向代理服务器分散了网络流量,可以避免拥塞。分发内容使之更靠近终端用户,这样从服务器到客户端的传输时间就更短了。请求和响应穿过因特网,在客户端和服务器间传输的方式是影响资源访问速度最主要的因素。

加速网站访问的另一种方法是对内容进行编码以便更快地传输。比如,对内容进行压缩,但前提是接收的客户端能够把内容解压缩。

总结

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


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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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