HTTP 协议的基本格式

HTTP(HyperText Transfer Protocol,超文本传输协议)是用于分布式、协作式、超媒体信息系统的应用层协议。它基于TCP/IP协议栈进行工作,用于从WWW服务器传输超文本到本地浏览器的传送协议。HTTP协议的基本格式包括请求(Request)和响应(Response)两部分,下面分别介绍它们的基本格式。

1.HTTP 请求(Request)

HTTP请求由三部分组成:请求行(Request Line)、请求头(Header)、空行、正文(Body,可选)。

1.1 请求行

请求行包含了用于请求的方法、请求的URI(统一资源标识符)和HTTP版本。格式如下:

<方法> <URI> <HTTP版本>
  • 方法:常用的HTTP方法包括GET、POST、PUT、DELETE、HEAD、OPTIONS和TRACE等。这些方法定义了要执行的操作类型。
  • URI:统一资源标识符,指定了要访问的资源的位置。
  • HTTP版本:例如HTTP/1.1,指示了客户端使用的HTTP版本。
1.2 请求头

请求头从第二行开始,直到空行结束,包含了一系列的键值对,用于描述请求的元数据。例如:

Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
...
1.3 空行

请求头的结束标志

1.4 正文

正文(Body)是可选的,主要用于POST和PUT请求中,包含了要发送给服务器的数据。请求体的格式由Content-Type头指定,例如application/jsonapplication/x-www-form-urlencoded等。

2. HTTP 响应(Response)

   HTTP响应也由三部分组成:状态行(Status Line)、响应头(Header)、空行、正文(Body,可选)。

1.1 状态行

状态行包含了HTTP版本、状态码和状态消息。格式如下:

<HTTP版本> <状态码> <状态消息>
  • HTTP版本:例如HTTP/1.1,与请求中的HTTP版本相对应。
  • 状态码:一个三位数字,用于表示请求的结果。例如,200表示成功,404表示未找到资源。
  • 状态消息:对应于状态码的文本描述。
1.2 响应头

响应头与请求头类似,从第二行开始,直到空行结束,也是一系列的键值对,用于描述响应的元数据。例如:

Content-Type: text/html; charset=UTF-8
Content-Length: 1234
...
1.3. 空行

响应头的结束标志

1.4 正文

正文(Body)包含了服务器返回给客户端的数据。它的格式和编码方式由响应头中的Content-Type等字段指定。

HTTP协议通过这种请求-响应“一问一答模型”的方式,实现了客户端与服务器之间的通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值