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

3.持久连接节省通信量

HTTP 协议的初始版本中,每进行一次 HTTP 通信就要断开一次 TCP 连接。
HTTP第二篇 HTTP协议
使用浏览器浏览一个包含多张图片的 HTML 页面时,在发送请求访问 HTML 页面资源的同时,也会请
求该 HTML 页面里包含的其他资源。因此,每次的请求都会造成无谓的 TCP 连接建立和断开,增加通信量的
开销。
为解决上述 TCP 连接的问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persistent
Connections,也称为 HTTP keep-alive HTTP connection reuse)的方法。持久连接的特点是,只要任意
一端没有明确提出断开连接,则保持 TCP 连接状态。持久连接旨在建立1 TCP 连接后进行多次请求和响应的交互。
HTTP第二篇 HTTP协议
持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外, 减少开销的那部分时间,使 HTTP 请求和响应能够更早地结束,这样 Web 页面的显示速度也就相应提高了。 在 HTTP/1.1 中,所有的连接默认都是持久连接,但在 HTTP/1.0 内并未标准化。虽然有一部分服务器通过非 标准的手段实现了持久连接,但服务器端不一定能够支持持久连接。毫无疑问,除了服务器端,客户端也需 要支持持久连接。
 
 

4.管线化

管线化是指将多个HTTP请求整批发送,在发送过程中不用等待对方响应。

持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从前发送请求后需等待并收到响应,才能 发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。 这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。

相关文章:

  • 2021-09-27
  • 2022-01-17
  • 2021-10-06
  • 2021-12-27
  • 2021-12-16
  • 2021-08-30
猜你喜欢
  • 2021-11-30
  • 2021-11-07
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
相关资源
相似解决方案