贴上GPT给的解释
HTTP(超文本传输协议)是一种用于传输超文本的应用层协议。它是万维网的数据传输协议,用于在客户端和服务器之间传递请求和响应。
看到这个我有点奇怪,TCP不也是用来客户端和服务端之间的通信吗? 只能说协议亦有差距。HTTP传输的是请求和响应,TCP是传递数据。还有一点是HTTP是应用协议,TCP是传输协议。我们可以把TCP看作是我们写的代码,HTTP就是代码规范。作用不同。
下面看下HTTP的特点
无连接性:HTTP协议是一种无连接的协议,即每个请求/响应对之间都是独立的,服务器不会保留与客户端的连接状态。这意味着每个请求都是独立的,服务器不会记住之前的请求信息。
无状态性:HTTP是一种无状态协议,即服务器不会在多个请求之间保留任何状态信息。每个请求都是独立的,服务器不会记住之前的请求信息或会话状态。
基于文本:HTTP协议基于文本,使用ASCII码来表示请求和响应消息。请求消息由请求行、请求头部、空行和请求体组成,而响应消息由状态行、响应头部、空行和响应体组成。
支持多种方法:HTTP定义了一系列方法(也称为动词),用于指定请求的类型和对资源的操作,其中最常见的方法包括GET、POST、PUT、DELETE等。
URL:HTTP使用统一资源定位符(URL)来标识互联网上的资源。URL包含了资源的地址以及访问资源所需的协议、主机、端口号、路径等信息。
状态码:HTTP响应包含一个状态码,用于指示请求的处理结果。常见的状态码包括200(成功)、404(未找到)、500(服务器内部错误)等。
持久连接:为了提高性能,HTTP/1.1引入了持久连接(也称为HTTP keep-alive),允许在单个连接上发送多个请求和响应,减少了连接的建立和关闭次数,提高了性能。
ok,先写这么多,有其他的再补充。