前端学HTTP之重定向和负载均衡

  HTTP并不是独自运行在网上的。很多协议都会在HTTP报文的传输过程中对其数据进行管理。HTTP只关心旅程的端点(发送者和接收者),但在包含有镜像服务器、Web代理和缓存的网络世界中,HTTP报文的目的地不一定是直接可达的

  重定向技术通常可以用来确定报文是否终结于某个代理、缓存或服务器集群中某台特定的服务器。重定向技术可以将报文发送到客户端没有显式请求的地方去。本文将详细介绍重定向技术以及负载均衡

总括

  由于HTTP应用程序需要可靠地执行HTTP事务,最小化时延,并且节约网络带宽,所以在现代网络中重定向是普遍存在的

  出于这些原因,Web内容通常分布在很多地方。这么做是出于可靠性的考虑。这样,如果一个位置出问题了,还有其他的可用,如果客户端能去访问较近的资源,就可以更快地收到所请求的内容,以降低响应时间;将目标服务器分散,还可以减少网络拥塞。可以将重定向当作一组有助于找到“最佳”分布式内容的技术

  大多数重定向部署都包含某些形式的负载均衡。也就是说,它们可以将输入报文的负载分摊到一组服务器中去。反之,因为输入报文一定会在分担负荷的服务器之间进行某种分布,所以任意形式的负载均衡都包含了重定向

  从客户端向目标发送HTTP请求,目标对其进行处理的角度来看,服务器、代理、缓存和网关对客户端来说都是服务器。很多重定向技术都可用于服务器、代理、缓存和网关,因为它们具有共同的,与服务器类似的特征。其他一些重定向技术是专门为特定类型的端点设计的,没有通用性

  Web服务器会根据每个IP来处理请求。将请求分摊到复制的服务器中去,就意味着应该把对某特定URL的每条请求都发送到最佳的Web服务器上去(最靠近客户端的、或负载最轻的或采用其他优化策略选择的服务器)。重定向到某台服务器就像将所有需要给汽车加油的司机都送到最近的加油站去一样

  代理希望根据每个协议来处理请求。在理想情况下,某个代理附近的所有HTTP流量都应该通过这个代理传输。比如,如果某代理缓存靠近各种不同的客户端,那么理想情况下,所有请求都应流经这个代理缓存,因为代理缓存上会存储常用的文档,可以直接提供,从而避免通过更长、更昂贵的路径连接到原始服务器。重定向到代理就像从一条主要通路(无论它通往何处)上将流量分流到一条本地快捷路径上去一样

  重定向的目标是尽快地将HTTP报文发送到可用的Web服务器上去。在穿过因特网的路径上,HTTP报文传输的方向会受到HTTP应用程序和报文经由的路由设备的影响

  配置创建客户端报文的浏览器应用程序,使其将报文发送给代理服务器;DNS解析程序会选择用于报文寻址的IP地址。对不同物理地域的不同客户端来说,这个IP地址可能不同;报文经过网络传输时,会被划分为一些带有地址的分组,交换机和路由器会检查分组中的TCP/IP地址,并据此来确定分组的发送路线;Web服务器可以通过HTTP重定向将请求反弹给不同的Web服务器;浏览器配罝、DNS、TCP/IP路由以及HTTP都提供了重定向报文机制

  [注意]有些方法,比如浏览器配置,只有在将流量重定向到代理的时候才有意义,而其他一些方法(比如DNS重定向),则可用于将流量发送给任意服务器

  重写向方法包括通用重定向、代理重定向及缓存重定向等

通用重定向

  可以通过通用重定向方法将流量重定向到不同的(可能更优的)服务器,或者通过代理来转发流量。具体来说,包括HTTP重定向、DNS重定向、任播寻址、IP MAC转发以及IP地址转发

前端学HTTP之重定向和负载均衡

【HTTP 重定向】

  Web服务器可以将短的重定向报文发回给客户端,告诉他们去其他地方试试。有些Web站点会将HTTP重定向作为一种简单的负载均衡形式来使用。处理重定向的服务器(重定向服务器)找到可用的负载最小的内容服务器,并将浏览器重定向到那台服务器上去

  对广泛分布的Web站点来说,确定“最佳”的可用服务器会更复杂一些,不仅要考虑到服务器的负载,还要考虑到浏览器和服务器之间的因特网距离。与其他一些形式的重定向相比,HTTP重定向的优点之一就是重定向服务器知道客户端的IP地址,理论上来讲,它可以做出更合理的选择

  下面是HTTP重定向的工作过程

前端学HTTP之重定向和负载均衡

  在图a中,Alice向发送了一条请求

GET /hammers.html HTTP/1.0 Host: -hardware.com User-Agent: Mozilla/4.51 [en] (X11; U; IRIX 6.2 IP22)

  在图b中,服务器没有回送带有HTTP状态码200的Web页面主体,而是回送了一个带有HTTP状态码302的重定向报文

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/086b858fb98e5f5d6c7d4676536cc87e.html