不疯魔,不成活! --疯魔老杨(Crazy.LaoYang) http://www.inotes.cn/
分类: 系统运维
2008-07-11 14:44:13
HTTP简介
WEB浏览器与WEB服务器之间一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。
Http(HypertextTransferProtocol)超文本传输协议。
从1990年开始就在WWW上广泛的应用,是现在WWW上应用得最多的协议。
版本有:HTTP/1.0、HTTP/1.1 HTTP/NG
HTTP是应用层的协议,是一个基于请求/响应模式的,无状态的协议。用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。
HTTP/1.0 PK HTTP/1.1
持续连接(Persistent Connections)
HTTP/1.0中,当连接建立的,浏览器发送一个请求,服务器回应一个请求,之后,连接就被关闭。当浏览器下次请求的时候,需要重新建立连接,很显然这种需要不断建立连接的通信方式造成的开销比较大,早期的WEB页面通常只包含HTML文本,因此即使建立连接的开销较大,也不会有太大的影响。而现在的WEB页面往往包含多种资源(图片、动画、影音等),每获取一种资源,就建立一次连接,这样就增加了HTTP服务器的开销,造成了Internet上的信息阻塞。
HTTP/1.1中,支持了持续连接(Persistent Connections)的机制,并将期作为HTTP/1.1中建立连接的缺省行为。通过这种连接,浏览器可以在建立一个连接之后,发送请求并得到回应,然后继续发送请求并再次得到回应。而且,客户端还可以发送流水线请求,也就是说,客户端可以连续发送多个请求,而不用等待每一个响应的到来。
HTTP/1.1的特点:
1) 在一个TCP连接上可以传送多个HTTP请求和响应。
2) 多个请求和响应过程可以重叠进行,这个属性也称之为Pipeline。在浏览器发出第一个请求后,不用等待第一次请求的响应结果,就可以继续发送第二个请求,在这种情况下,服务器端也必须按客户端请求的先后顺序回送响应结果,以便保证客户端能够区别出每次请求的响应结果。
3) 比HTTP/1.0增加了更多的请求头和响应头,如在HTTP/1.0中不支持Host请求头字段,所以原来WEB服务器无法建立基于主机名的虚拟主机。在HTTP/1.1中,增加了Host请求头字段,这样浏览器就可以使用主机名来明确表示要访问服务器上那个WEB站点,这使得在一台WEB服务器上建立同一个IP地址和端口的虚拟主机成为可能。