http多部分响应和边界

时间:2012-12-04 09:46:03

标签: http

我正在考虑使用HTTP multipart来返回动态生成的二进制流(例如mp4视频剪辑),然后在一条HTTP响应消息中返回签名文件,然后返回客户端的其他内容。在我的例子中,构建http头字段时,mp4的大小(响应消息的第一部分)是未知的,所以我不能为mp4部分设置Content-Length。我将需要使用多部分边界来分隔每个部分。但是我被告知如果边界字符串出现在mp4数据中,则multipart将不起作用。其他人建议对每个部分进行编码(例如BASE64编码),以便我可以选择非BASE64字符的边界,这些字符永远不会出现在http响应的任何部分内。问题是BASE64会增加33%的大小,这是我们无法接受的开销。 问题是: 有办法解决这个问题吗?我错过了什么吗?或者您可能知道更好的方法(我们必须在一个HTTP响应中返回几个部分)?

非常感谢,

1 个答案:

答案 0 :(得分:0)

如果客户端了解消息格式,您可以随时删除边界字符串,这样就不会出现问题。

您需要记住边界字符串,并在数据流中查找它的最终部分,并仅将数据转发给这些部分之间的播放器。