WebKitFormBoundary之后的随机字符串是什么意思?

时间:2014-02-10 07:17:52

标签: webkit

我正在尝试使用BI工具自动化从数据库系统中提取数据的流程,然后通过HTTP POST将其上传到网站。

我正在使用的BI工具允许我将Request up构建为文本对象,然后将其发送到Web资源。

为了实现这一点,我使用Fiddler捕获Chrome在手动填写表单时发送的Web请求。

请求包含以下内容......

------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="upload"; filename="data.csv"
Content-Type: application/vnd.ms-excel

CSV HEADER DATA 
CSV ROW DATA

------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="returnErrorCsv"


------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="returnUrl"


------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="entityPropertiesToReturn"


------WebKitFormBoundarycwwJjby5xTdrlr48

然后我得到BI工具来模仿上面的请求并替换从数据库中提取的数据(CSV HEADER DATA和CSV ROW DATA数据将去的地方 - 这些数据是保密的所以我不得不将其删除)。

这一切都正常,但我的问题是WebKitFormBoundary之后的字符串是什么意思? I.E cwwJjby5xTdrlr48

它只是一个随机字符串来识别来自另一个的一个请求?还是有另一个目的?

目前我正在我的所有请求中重新使用cwwJjby5xTdrlr48,它似乎工作正常,但我认为可能值得问我是否应该构建自己的字符串。

1 个答案:

答案 0 :(得分:41)

这就是如何定义哑剧结构的不同部分之间所谓的“边界”的典型方式。接收方可以通过此分开不同的部分。例如,在不同的事情中使用相同的逻辑,例如电子邮件消息。

“随机”字符串确实是随机的,所有使用相同字符串的边界标记都是“分组”的,因此在同一级别上工作。 Mime部分结构可以以分层方式堆叠。在这种情况下,在不同的级别中使用不同的随机字符串来区分它们。例如,这是如何引用电子邮件作为新电子邮件的附件。如果引用的电子邮件包含多个mime部分,则它们的边界必须与新电子邮件的边界不同,否则级别之间会出现混淆。

实际上,这个边界的“随机部分”并不重要。整个字符串匹配。出于透明度原因,每个软件仅为此类边界使用唯一的前缀字符串。但一般来说,唯一的要求是所选字符串在所有包含的数据中必须是唯一的。除了必须使用完全相同的字符串的相应边界外,显然是唯一的。