浏览器支持的分段的答复
-
05-07-2019 - |
题
我想创建一个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标头中缺少“ - ”)。
两个想法:
- 格式化:我认为“多部分”应该是小写的,我不认为在Content-type标题的末尾会有分号(虽然它会产生影响,但可能会有所不同)。
- 您是否尝试过更换模式?只需使用:
内容类型:multipart / x-mixed-replace
- 其他一切都应该保持不变。
醇>
不隶属于 StackOverflow