什么是HTTP协议

1 什么是HTTP协议

超文本传输​​协议(HTTP)是分布式,协作式超媒体信息系统的应用程序级协议。自1990年以来,HTTP就是互联网(即Internet)数据通信的基础。HTTP是一种通用的无状态协议。

HTTP是基于TCP/IP的通信协议,用于在万维网上传递数据(HTML文件,图像文件,查询结果等)。默认端口是TCP:80,当然也可以使用其他端口。它为计算机相互通信提供了一种标准化的方式。HTTP规范指定如何构造客户端的请求数据并将其发送到服务器,以及服务器如何响应这些请求。

2 HTTP协议的特征

HTTP有三个基本特征:

  • HTTP是无连接的: HTTP客户端,即浏览器,启动HTTP请求,并且在发出请求后,客户端等待响应。服务器处理该请求并返响应,然后客户端断开连接。因此,客户端和服务器仅在当前请求和响应期间相互认识。对新连接的进一步请求,例如客户端和服务器彼此都是新的。
  • HTTP是独立于的:这意味着,只要客户端和服务器都知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。客户端和服务器都需要使用适当的MIME类型指定内容类型。
  • HTTP是无状态的:如上所述,HTTP是无连接的,这是HTTP是无状态协议的直接结果。服务器和客户端仅在当前请求期间彼此知道。之后,他们俩彼此就毫无关系了。由于协议的这种性质,客户端和浏览器都无法在整个网页的不同请求之间保存信息。

注意:HTTP/1.0对每个请求/响应交换都使用一个新的连接,而HTTP/1.1连接可以用于一个或多个请求/响应交换。

3 Web应用架构

下图描述了Web应用程序的非常基本的体系结构,并描述了HTTP所处的位置:


HTTP协议是基于基于客户端/服务器的体系结构的请求/响应协议,其中Web浏览器,机器人和搜索引擎等充当HTTP客户端,而Web服务器充当服务器。

3.1 HTTP客户端

HTTP客户端以请求方法,URI和协议版本的形式向服务器发送请求,后跟类似MIME的消息,其中包含请求修饰符,客户端信息以及可能的TCP/IP连接的正文内容。

3.2 HTTP服务器

HTTP服务器以状态行作为响应,包括消息的协议版本和成功或错误代码,后跟类似MIME的消息,其中包含服务器信息,实体元信息以及可能的实体主体内容。