HTTP笔记-3

Web主机托管

主机托管服务

虚拟主机托管:许多Web托管者通过让一些顾客共享一台计算机来提供便宜的Web主机托管服务。这称为共享主机托管或虚拟主机托管

虚拟服务器请求缺乏主机信息:

不幸的是,HTTP/1.0中的一个设计缺陷会使虚拟主机托管者抓狂。HTTP/1.0规范中没有为共享的Web服务器提供任何方法来识别要访问的是所托管的哪个虚拟网站。缺失的主机信息是原始HTTP规范的疏忽,它错误地假设了每个Web服务器上只托管了一个网站。Http的设计者没有为进行虚拟主机托管的共享服务器提供支持。为此有四种变通的方案:

1.通过URL路径进行虚拟主机托管;

    在URL中增添专门的路径部分,以便服务器判断是哪个网站。

2.通过端口号进行主机托管;

    为每个站点分配不同的端口号,这样请求就由Web服务器的单独实例来处理。

3.通过IP地址进行主机托管;

    所有虚拟网站的IP地址都绑定到同一个共享的服务器上,当然在计算机系统上能绑定的虚拟IP地址通常是有限的。

4.通过Host首部进行虚拟主机托管;

    Host首部最早是在Http/1.0+中引入的,它是开发商实现的HTTP/1.0的扩展超集。遵循HTTP/1.1标准则必须支持Host首部。

Http/1.1的Host首部

语法与用法注意事项:

    如果客户端显示地使用代理服务器。客户端就必须把原始服务器,而不是代理服务器的名字和端口放在host首部中。

    Web客户端必须在所有请求报文中包含Host首部。

    Web代理必须在转发请求报文之前,添加host首部。

    Http/1.1 的Web服务器必须用400状态码来响应所有缺少Host首部字段的HTTP/1.1请求报文。

使网站更可靠

   镜像的服务器集群

   两种方式把客户端的请求导向特定的服务器:

   HTTP重定向

       该内容URL会解析到主服务器的IP地址,然后它会发送重定向到复制服务器。

   DNS重定向

      该内容的URL会解析到4个IP地址,DNS服务器可以选择发送给客户端的IP地址

   内容分发网络

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

posted @ 2018-04-14 00:32  tuohaibei  阅读(132)  评论(0编辑  收藏  举报