【问题标题】:http multipart response and boundaryhttp 多部分响应和边界
【发布时间】:2012-12-04 18:13:54
【问题描述】:

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

非常感谢,

【问题讨论】:

    标签: http


    【解决方案1】:

    如果客户端理解消息格式,您可以随时剥离边界字符串,这样就不会有问题。

    您需要记住边界字符串并在数据流中寻找它的结束部分,并且只将数据转发给位于这些部分之间的播放器。

    【讨论】:

    • bounday 字符串在开始时作为 HTTP 标头字段发送给客户端,是的,客户端应该理解它。问题是如果边界出现在“部分”的主体中,它将被视为错误的边界。
    猜你喜欢
    • 2018-04-14
    • 1970-01-01
    • 2011-01-05
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 2011-01-19
    相关资源
    最近更新 更多