我想创建一个HTTP响应,使用multipart/混合,但是我不确定这浏览器支持;如果它是作为方便,因为它的声音,从客户的角度来看。说实话,我不需要具体,内容类型。我只是想发送的多个文件中同样的响应;也许还有另一个内容类型更多的使用。

有帮助吗?

解决方案

我测试过它,用一个自制的服务器和一个简单的反应。不知道,如果反应是良好的,因为没有浏览器了解它100%确定。但这里是结果:

  • Firefox67.0.1(64位):使只有最后一部分,其他人将被忽略。
  • 即11.503:节省的所有内容在一个单一的文件(包括边界),没有什么渲染。
  • 铬可以2019:节省的所有内容在一个单一的文件,没有什么渲染。
  • Safari4:节省的所有内容在一个单一的文件,没有什么渲染。
  • 歌剧10.10:某事奇怪的。开始呈现的第一部分作为普通文,然后清除的一切。装载进度条挂在了31%。

这里有完全反应,如果有人发现的任何错误,请告诉我,我会再试一次:

HTTP/1.1 200 OK
Date: Tue, 01 Dec 2009 23:27:30 GMT
Vary: Accept-Encoding,User-Agent
Content-Length: 681
Content-Type: Multipart/mixed; boundary="sample_boundary";

Multipart not supported :(
--sample_boundary
Content-Type: text/css; charset=utf-8
Content-Location: http://localhost:2080/file.css

body
{
 background-color: yellow;
}
--sample_boundary
Content-Type: application/x-javascript; charset=utf-8
Content-Location: http://localhost:2080/file.js

alert("Hello from a javascript!!!");

--sample_boundary
Content-Type: text/html; charset=utf-8
Content-Base: http://localhost:2080/

<html>
<head>
    <link rel="stylesheet" href="http://localhost:2080/file.css">
</head>
<body>
 Hello from a html
    <script type="text/javascript" src="http://localhost:2080/file.js"></script>
</body>
</html>
--sample_boundary--

其他提示

根据我的经验,多部分响应在Firefox中有效,但在Internet Explorer中无效。这是2年前,使用当时的浏览器。

我已经有HTTP多部分响应用于JPEG图像流。例如,Axis IP摄像机用于Firefox的动态JPEG流。对于Internet Explorer,Axis需要使用插件。

如果仅Firefox支持符合您的要求,那么我建议在多部分响应的每个部分中设置内容长度标题。在原始HTTP标头和多部分响应中使边界字符串相同可能会有所帮助(HTTP标头中缺少“ - ”)。

两个想法:

  1. 格式化:我认为“多部分”应该是小写的,我不认为在Content-type标题的末尾会有分号(虽然它会产生影响,但可能会有所不同)。
  2. 您是否尝试过更换模式?只需使用:内容类型:multipart / x-mixed-replace - 其他一切都应该保持不变。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top