HTPP协议结构

请求报文:客户端发给服务器

响应报文:服务器发给客户端

一、请求报文具体内容及结构

1、请求行

①请求方法:告诉服务器你想要对指定的资源执行什么操作。

GET:获取数据

POST:新增数据

PUT/PATCH:更新数据

DELETE:删除数据

(常用)

②URL:想要访问的资源的地址,一个能够唯一标识服务器上资源的路径。

③HTTP版本号:指定客户端使用的HTTP协议版本

2、请求头:由键值对组成,包含了客户端发送给服务器的一系列元数据,这些元数据用于向服务器提供关于请求的额外信息,以便服务器能够正确地处理和响应请求。

常见的请求头字段:

Host:指定了请求的目标服务器的主机名和端口号。

User-Agent:标识了发起请求的客户端应用程序的信息,包括操作系统、浏览器版本等。

Accept:指定了客户端能够接受的响应内容的类型,如text/html、application/json等。

Content-Type:指定了请求体中发送的数据的类型。

Accept-Language:表示客户端可以接受的语言类型,如en-US、zh-CN等。

Connection:表示客户端与服务器之间连接的类型,如keep-alive、close等。

Cookie:用于在请求中传递保存在客户端的会话信息。

token:身份验证。

(请求头与请求体之间有一行空行)

3、请求体:携带数据到服务器。

请求体可以为空,GET请求通常不包含请求体,因为它们通过URL的查询参数来传递数据。而POST、PUT等请求方法则经常包含请求体,用于向服务器提交数据或更新资源。

常见的请求体内容及其用途:

  1. application/x-www-form-urlencoded
    • 用于表单数据的提交。
    • 数据被编码为键值对,每个键值对之间通过&符号连接,如key1=value1&key2=value2
  2. multipart/form-data
    • 用于上传文件。
    • 请求体被划分为多个部分,每个部分可以包含一个表单字段或一个文件。
    • 每个部分都有自己的Content-Disposition头部字段,用于指定字段的名称和文件名(如果适用)。
    • 这种格式支持同时上传多个文件和表单字段,非常适合需要文件上传的场景。
  3. application/json
    • 用于传输结构化的数据,如JSON对象。
    • 请求体是一个JSON字符串,包含了键值对或嵌套的数据结构。
  4. text/plain
    • 用于传输纯文本数据。
    • 请求体可以是任意文本内容,不需要进行特殊的编码或格式化。
    • 它适用于那些不需要复杂数据结构的简单文本传输场景

二、响应报文具体内容及结构

1、响应行

①HTTP版本号

②响应状态码

200:请求成功

403:禁止请求

404:找不到资源

500:服务器内部错误

③响应状态描述:与状态码对应

200:ok

403:forbidden

404:not found

500:internal server error

2、响应头

Access-Control-Allow-Origin:指定哪些源(域名)有权限访问资源。

Content-Type:指定响应内容的媒体类型(MIME类型)

Content-Length:表示响应体的长度

Access-Control-Allow-Methods:指定允许跨域请求的方法,如GETPOST等。

3、响应体:服务器返回的各类资源

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值