概念:
HTTP
协议用于客户端和服务器端之间的通信。
HTTP
协议和
TCP/IP
协议族内的其他众多的协议相同,用于客户端和服务器之间的通信。请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一端称为服务器端。
特征:
1.HTTP
是不保存状态的协议。
使用
HTTP
协议,每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或 响应报文的信息。这是为了更快地处理大量事务,确保协议的可伸缩性,而特意把 HTTP
协议设计成如此简
单的。
可是,随着
Web
的不断发展,因无状态而导致业务处理变得棘手的情况增多了。比如,用户登录到一家购物 网站,即使他跳转到该站的其他页面后,也需要能继续保持登录状态。针对这个实例,网站为了能够掌握是 谁送出的请求,需要保存用户的状态。
HTTP/1.1
虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了
Cookie
技术。有了
Cookie
再 用 HTTP
协议通信,就可以管理状态了。
2.
HTTP/1.0
和
HTTP/1.1
支持的方法

注意:
在这里列举的众多方法中,
LINK
和
UNLINK
已被HTTP1.1废弃
3.持久连接节省通信量
HTTP
协议的初始版本中,每进行一次
HTTP
通信就要断开一次
TCP
连接。

使用浏览器浏览一个包含多张图片的
HTML
页面时,在发送请求访问
HTML
页面资源的同时,也会请
求该
HTML
页面里包含的其他资源。因此,每次的请求都会造成无谓的
TCP
连接建立和断开,增加通信量的
开销。
为解决上述
TCP
连接的问题,
HTTP/1.1
和一部分的
HTTP/1.0
想出了持久连接(
HTTP Persistent
Connections
,也称为
HTTP keep-alive
或
HTTP connection reuse
)的方法。持久连接的特点是,只要任意
一端没有明确提出断开连接,则保持
TCP 连接状态。持久连接旨在建立
1
次
TCP
连接后进行多次请求和响应的交互。

持久连接的好处在于减少了
TCP
连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外, 减少开销的那部分时间,使 HTTP
请求和响应能够更早地结束,这样
Web
页面的显示速度也就相应提高了。 在 HTTP/1.1
中,所有的连接默认都是持久连接,但在
HTTP/1.0
内并未标准化。虽然有一部分服务器通过非 标准的手段实现了持久连接,但服务器端不一定能够支持持久连接。毫无疑问,除了服务器端,客户端也需 要支持持久连接。
4.管线化
管线化是指将多个HTTP请求整批发送,在发送过程中不用等待对方响应。
持久连接使得多数请求以管线化(
pipelining
)方式发送成为可能。从前发送请求后需等待并收到响应,才能 发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。 这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。