• 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服务器、反向代理或缓存。

  • 相关阅读:
    C# 多线程详解 Part.02(UI 线程和子线程的互动、ProgressBar 的异步调用)
    ubuntu 18.04安装ftp服务器
    ubuntu 18.04设置开机自动挂载移动硬盘
    使用apache commons net进行ftp传输
    Navicat连接MySQL 8出现2059
    Eclipse配置tomcat
    MySQL从.ibd文件中恢复数据
    MySQL建表时添加备注以及查看某一张表的备注信息
    在node.js中使用Set
    Java测试当前应用所占用的内存示例
  • 原文地址:https://www.cnblogs.com/cby-love/p/9568889.html
Copyright © 2020-2023  润新知