gpt4 book ai didi

html - multipart/form-data 的边界是什么?

转载 作者:bug小助手 更新时间:2023-10-28 10:55:11 33 4
gpt4 key购买 nike

我想问一个关于 multipart/form-data 的问题。在 HTTP header 中,我发现 Content-Type: multipart/form-data;边界=???

??? 可以由用户自由定义吗?还是从 HTML 生成的?我可以定义 吗??? = abcdefg?

最佳答案

Is the ??? free to be defined by the user?

是的。

or is it supplied by the HTML?

没有。 HTML 没有与此有关。阅读下文。

Is it possible for me to define the ??? as abcdefg?

是的。

如果您想将以下数据发送到网络服务器:

name = John
age = 12

使用 application/x-www-form-urlencoded 会是这样的:

name=John&age=12

如您所见,服务器知道参数是由 & 符号 & 分隔的。如果参数值需要 & 则必须对其进行编码。

那么当服务器使用multipart/form-data接收到一个HTTP请求时,如何知道一个参数值在哪里开始和结束呢?

使用边界,类似于&

例如:

--XXX
Content-Disposition: form-data; name="name"

John
--XXX
Content-Disposition: form-data; name="age"

12
--XXX--

在这种情况下,边界值为XXX。您在 Content-Type header 中指定它,以便服务器知道如何拆分它接收到的数据。

所以你需要:

  • 使用不会出现在发送到服务器的 HTTP 数据中的值。

  • 保持一致并在请求消息中的所有位置使用相同的值。

关于html - multipart/form-data 的边界是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508338/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com