如何转义Multipart HTTP边界

时间:2016-06-08 15:34:30

标签: http multipart

假设我正在发送多部分请求(或响应)。我需要选择一个多部分边界,它不会出现在我的任何有效载荷中。但是,我的有效负载是大型二进制文件,我将它们流式传输到目的地。我想避免两次流式传输 - 一次扫描边界,一次流出。

所以我的问题是:如果它出现在有效载荷中,是否有可能逃脱边界?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:2)

Don't Panic。您的边界最多可达70 characters long。如果您使用该最大值并随机生成字符和数字,则文件中的每个位置都有62⁷⁰种可能的组合。在二进制文件中拥有相同字节序列的机会是如此微不足道,以至于根本不应该打扰你的睡眠。 1GB文件中的碰撞概率大致为1 - ((1-(1 /(62 ^ 70)))^(10 ^ 9))〜= 3.4 * 10 -11。人类的大脑无法真正理解这个数字有多小。为了进行比较,number of atoms in our universe估计为~10⁸⁰。

答案 1 :(得分:0)

不,这是不可能的;你需要扫描,或者潜在的失败。