Apache网络配置与虚拟主机搭建全解析
1. HTTP/1.1基础特性
1.1 Host Header Request
与HTTP/1.0不同,HTTP/1.1要求客户端请求中包含主机头,即使它为空。以下是一个包含主机头的HTTP/1.1请求示例:
GET /~e8926506/siberia.htm HTTP/1.1
Host: stud1.tuwien.ac.at
1.2 Chunking
HTTP/1.1在将数据发送回请求的客户端时会对数据进行分块处理。根据HTTP/1.1的RFC,分块意味着将消息体修改为一系列块进行传输,每个块都有自己的大小指示符,后面可跟一个包含实体头字段的可选尾部。
分块技术的出现是为了解决服务器在发送响应时不需要提前知道响应大小的问题。由于CGI等动态内容的存在,页面的 Content-Length
变得可变且无法提前确定。分块的工作方式是服务器抓取一小部分动态输出,确定其长度,然后发送给客户端,接着再获取更多内容。
此外,一旦服务器发送完所有分块编码的文档,它还可以选择发送额外的响应头。因为服务器无论如何都在对数据进行分块处理,所以这些头信息可以像内容一样是动态的。
2. 多主机托管方式
Apache提供了三种在单台机器上托管多个网站的方式:
- 运行多个 httpd
守护进程实例。
- 使用Apache的基于IP的虚拟主机。
- 使用Apa