HTTP(Hypertext Transfer Protocol,超文本传输协议),是一种应用层协议,用于在客户端和服务器之间传输超文本数据。
HTTP协议最初是在1991年由Tim Berners-Lee发明,是用于在Web浏览器和Web服务器之间传输数据的标准协议。HTTP使用TCP协议作为它的传输层协议,并使用URL(Uniform Resource Locator)来唯一标识Web上的资源。
HTTP 协议的工作方式是客户端向服务器发送请求,服务器收到请求后返回相应的响应,这个过程称为HTTP事务或HTTP交换。
HTTP协议的特点如下:
简单:HTTP协议的格式非常简单,易于实现和调试。 无状态:HTTP协议是无状态协议,每个请求都是完全独立的,服务器不会保存任何客户端的信息。 支持文本、图片、音视频等多种数据类型。 使用TCP作为其传输层协议,具有可靠性和错误恢复能力。 HTTP/0.9:1991年发布,只能传输ASCII文本,请求只能是GET方法,响应只能是HTML文本。 HTTP/1.0:1996年发布,加入了一些非常重要的特性,如: 支持请求方法:GET、POST、HEAD等 支持状态码:成功响应、重定向、客户端错误、服 务器错误等 加入了HTTP头部信息,使得HTTP协议具备了更多的扩展性 HTTP/1.1:1999年发布,引入了许多新的特性,如: 支持持久连接(Persistent Connection):允许 在同一个连接上发送多个HTTP请求和响应 支持管道化(Pipelining):允许在同一个连接上同 时发送多个请求,提高了网络效率 支持虚拟主机(Virtual Hosting):允许一台服务器托管多个域名 引入了缓存控制(Cache Control):客户端可以使用缓存来减少网络延迟 HTTP/2:2015年发布,完全改写了HTTP/1.x的传输方式,引入了以下特性: 支持多路复用(Multiplexing):多个请求可以同时在同一个连接上传输和响应,解决了HTTP/1.x中存在的队头阻塞问题 支持头部压缩(Header Compression):减少了网络开销,提高了网络效率 支持服务器推送(Server Push):服务器可以在客户端请求之前主动向客户端推送资源,提高了资源加载速度。