Http协议

基本上源于https://itbaima.net/document

Http协议

HTTP是基于TCP协议的
HTTP和TCP并不是一个层次的通信协议,TCP是传输层协议,而HTTP是应用层协议,因此,实际上HTTP的内容会作为TCP协议的报文被封装,并继续向下一层进行传递,而传输到客户端时,会依次进行解包,还原为最开始的HTTP数据。
在这里插入图片描述

在HTTP协议中,一个HTTP请求由三个部分组成:请求行(Request Line)、请求头(Header Fields)、以及请求体(Body,不是每个请求都有)。下面是一个HTTP请求的基本结构:

请求行(Request Line)

请求行由三部分组成:HTTP方法、资源路径(URL)和HTTP版本。

<method> <request-URL> <version>

例如:

GET /index.html HTTP/1.1

这表示一个向服务器请求 index.html 页面的HTTP GET请求。

请求头(Header Fields)

请求头包含了请求的元数据,如客户端接受的内容类型、请求的主机和连接的类型等。每个头字段都是由一个键值对组成,冒号(:)分隔键和值。

Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

请求头的例子:

  • Host:请求的服务器地址。
  • User-Agent:发出请求的用户代理的软件身份。
  • Accept:指定客户端能够接收哪些类型的信息。

请求体(Body)(可选)

对于某些方法(如POST或PUT),请求体包含了发送给服务器的数据。在GET请求中通常没有请求体。

如果有请求体,它紧跟在请求头后面,通常在请求头和请求体之间有一个空行来分隔。

一个典型的HTTP POST请求可能看起来像这样:

POST /submit-form HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

field1=value1&field2=value2

在这个例子中,请求行说明这是一个POST请求,请求的资源是 /submit-form,使用的HTTP版本是1.1。请求头包含了主机地址、内容类型和内容长度。请求体包含了表单数据,数据以 & 符号分隔的键值对形式发送。

这就是一个HTTP请求的基本组成部分。每个部分都有其特定的格式和规则,共同构成了HTTP请求的标准结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值