HTTP 协议简介及其工作原理
HTTP 协议简介
超文本传输协议(HTTP)是万维网应用层的协议,由两个程序实现:一个是客户端程序(一般称为浏览器),另一个是服务器(常称 Web 服务器)。这两个通常运行在不同的主机上通过交换 HTTP 报文来完成网页请求和响应。并且 HTTP 定义了报文的结构和客户/服务器之间交换报文的规则。
HTTP 的工作流程
浏览器可以向 Web 服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个 URL 或点击一个超连接时,浏览器就向服务器发出了 HTTP 请求,该请求被送往由 URL 指定的 WEB 服务器,WEB 服务器接收到请求后,进行相关文档的检索并以 HTTP 规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。
HTTP 协议的特点
* 无状态协议:HTTP 协议不维持客户端状态,因而服务器绝对不会认为某个客户端曾经来访过。
* 无连接协议:HTTP 协议使用非坚持连接的工作模式,服务器在每个对象发送后都要关闭 TCP 连接。
HTTP 运作过程中的连接
在 HTTP/1.0 中,WEB 服务过程中,客户端需要与服务器建立多个 TCP 连接,以便传输多个对象。这种工作模式效率比较低,因为每个请求的对象建立和维持一个“崭新”的连接,在客户端和服务器端都要为 TCP 分配缓存并保持 TCP 变量,这会对同时几百个客户服务端的 WEB 服务器造成城中负担。
提高 HTTP 服务效率的方法
* 并行连接:从一个客户端同时发送多个 TCP 连接并列到一个 WEB 服务器上,即建立“并行”的 TCP 连接。
* 持续连接模式:服务器在完成一次 HTTP 报文交互后继续保持连接,统一客户端和服务器之间后继的请求和响应报文可以在原来的连接进行。
HTTP 报文格式
HTTP 报文格式主要包括请求报文和响应报文。请求报文样例中包括方法字段、URI 字段、协议版本字段、头字段和实体字段等。响应报文样例中包括协议版本字段、状态码字段、头字段和实体字段等。
HTTP 报文交互过程
* 客户端向服务器发送请求报文。
* 服务器接收到请求报文,并进行相关文档的检索。
* 服务器将响应报文发送回客户端。
* 客户端接收到响应报文,并对其进行解释和显示。
HTTP 协议是一种应用层协议,定义了客户端和服务器之间的交互规则,包括报文的结构和交换规则等。 HTTP 协议的特点是无状态和无连接的,为了提高服务效率,可以使用并行连接和持续连接模式。