一, http
http1.0是一个请求一个连接;http1.1是一个页面一个链接。
请求的消息内容:
一个请求行,若干个请求头,以及内容其中的消息头和实体内容时刻修的,消息头与内容用空行隔开。
第一行是请求的类型:get和post。
GET请求通常会有参数附加在url的后面,就可以提取到参数对应的数据。例:GET /books/java.html/参数=? & 参数=? HTTP/1.1
Get的后面没有实体内容,所有的参数都附加在url后面,不安全,内容长度不能太长以为是在地址栏中(超链接,提交地址)。
Post:参数不在地址栏中显示,所有参数都在实体内容中,安全,没有长对限制。
响应消息的实体内容:就是html中的内容就是页面的内容
第一行是状态行;http版本号,有状态码
消息头;
空行。。。。。。表示消息头结束。
<html></html>
请求行:
格式:请求方式 资源路径 http版本号
二,配置虚拟主机
l URL
格式: http://IP地址(或主机名):端口号/目录名称/网页文件名称
举例: http://www.it315.org/book/java.html
l 目的:
在一台计算机上创建多个WEB站点,并为每个WEB站点设置不同的主目录和虚拟子目录,每个WEB站点作为各自独立的网站分配给不同的公司或部门。
l 好处:
多个公司或部门的网站就可以共用同一台计算机,而用户感觉每个公司和部门都有各自独立的网站。多个没有实力在Internet上架设自己专用服务器的中小公司可以联合租用一台WEB服务器,对外提供各自的WEB服务而互不影响。
l 原理:
ü WEB服务器上的每个WEB站点必须设置有不同的标识信息
ü WEB浏览器发出的连接和请求信息中包含WEB站点的标识信息
l WEB站点的标识信息:
IP地址、端口号、主机名
l WEB浏览器要访问基于主机名的虚拟主机时,在访问URL中必须采用主机名,而不能采用IP地址。
l 在整个网络系统中建立主机名与IP地址的映射关系,即必须将主机名添加到名称解析系统。
ü 使用客户机本地的Hosts 文件,例如,c:\winnt\System32\Drivers\Etc\Hosts
ü 使用DNS(Domain Name System,域名系统)服务器
三,基于端口号的虚拟主机
l 一个<Connector>元素用于配置一个对外的连接器,对于WEB服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。
l 一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素中。
<Service name="…">
<Connector port="…" …/>
<Engine name="…" >
<Host name="…" >
<Context …>
</Context>
</Host>
</Engine>
</Service>
四,基于IP地址的虚拟主机
l HTTP 1.0不支持Host头字段,在保证所有站点统一使用端口号80的情况下,人们早期只能采用不同的IP地址来建立虚拟主机。
l HTTP 1.1可以使用不同的主机名来建立多个WEB站点后,虚拟主机业务提供商一般不再建立基于IP地址的虚拟主机。
l Tomcat没有提供建立基于IP地址的虚拟主机方式。