(1) 应用层协议 HTTP是一个应用层协议。HTTP使用可靠的、面向连接的运输协议TCP,但HTTP协议本身并不提供可靠性机制和重传机制。
(2) 请求/响应 一旦建立了运输连接(这常常称为建立了会话),浏览器端就向万维网服务器端发送HTTP请求,服务器收到请求后给出HTTP响应。
(3) 无状态 “无状态”(stateless)就是指每一个HTTP请求都是独立的。万维网服务器不保存过去的请求和过去的会话记录。这就是说,同一个用户再次访问同一个服务器时,只要服务器没有进行内容的更新,服务器的响应就给出和以前被访问时相同的响应。服务器不记录曾经访问过的用户,也不记录某个用户访问过多少次。
(4) 双向传输 这在大多数情况下都是这样的:浏览器发出HTTP请求,服务器给出HTTP响应。
(5) 能力协商 HTTP允许浏览器和服务器协商一些细节,如在传送数据时使用的字符集。发送端可指明它所能够提供的能力(capability),而接收端也能够指明它所能够接受的能力。
(6) 支持高速缓存 为了缩短响应时间,浏览器可将读取的万维网页面暂存在其高速缓存中。如果用户再次请求该页面,则HTTP允许浏览器可以对服务器进行查询,以便确定自从上次缓存了该页面后页面的内容是否有变化。
(7) 支持代理服务器 HTTP允许在浏览器和服务器之间存在一个代理服务器。代理服务器将万维网页面存放在自己的缓存中,并且从这缓存中取出页面回答浏览器的请求。