概述
超文本传输协议(HTTP)是用于分布式协作超媒体信息系统的应用程序级协议。 这是自1990年以来万维网(即互联网)数据通信的基础.HTTP是一种通用的无状态协议,可以用于其他目的,也可以使用其请求方法,错误代码和标头的扩展。
基本上,HTTP是基于TCP/IP的通信协议,用于在万维网上传递数据(HTML文件,图像文件,查询结果等)。 默认端口是TCP 80,但也可以使用其他端口。 它为计算机相互通信提供了一种标准化的方式。 HTTP规范指定如何构造客户端的请求数据并将其发送到服务器,以及服务器如何响应这些请求。
基本功能
有三个基本功能使HTTP成为一个简单但功能强大的协议:
HTTP is connectionless: HTTP客户端,即浏览器发起HTTP请求,在发出请求后,客户端等待响应。 服务器处理请求并发回响应,然后客户端断开连接。 因此,客户端和服务器仅在当前请求和响应期间相互了解。 对客户端和服务器之类的新连接的进一步请求是彼此新的。
HTTP is media independent:这意味着,只要客户端和服务器都知道如何处理数据内容,就可以通过HTTP发送任何类型的数据。 客户端和服务器都需要使用适当的MIME类型指定内容类型。
HTTP is stateless:如上所述,HTTP是无连接的,它是HTTP作为无状态协议的直接结果。 服务器和客户端仅在当前请求期间相互了解。 之后,他们两个都忘记了彼此。 由于协议的这种性质,客户端和浏览器都不能在跨网页的不同请求之间保留信息。
HTTP/1.0为每个请求/响应交换使用新连接,其中HTTP/1.1连接可用于一个或多个请求/响应交换。
基础架构
下图显示了Web应用程序的一个非常基本的体系结构,并描述了HTTP的位置:
HTTP协议是基于基于客户端/服务器的体系结构的请求/响应协议,其中Web浏览器,机器人和搜索引擎等充当HTTP客户端,并且Web服务器充当服务器。
Client
HTTP客户端以请求方法,URI和协议版本的形式向服务器发送请求,然后是类似MIME的消息,其中包含请求修饰符,客户端信息以及TCP/IP连接上可能的正文内容。
服务器
HTTP服务器以状态行响应,包括消息的协议版本和成功或错误代码,然后是包含服务器信息,实体元信息和可能的实体主体内容的类似MIME的消息。