Multipart/mixedを使用してHTTP応答を作成したいのですが、どのブラウザーがそれをサポートしているかはわかりません。クライアントの観点から、それが思ったほど便利な場合。正直なところ、そのコンテンツタイプは特に必要ありません。同じ応答で複数のファイルを送信したいだけです。多分もっと使用される別のコンテンツタイプがあります。
私はそれを自家製のサーバーと簡単な応答でテストしました。 100%OKと解釈するブラウザーがないため、応答が整形式であるかどうかはわかりません。しかし、ここに結果があります:
完全な応答は次のとおりです。エラーが見つかった場合はお知らせください。もう一度お試しください。
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年前、当時のブラウザを使用していた。
JPEG画像のストリームに対してHTTPマルチパート応答が機能しました。たとえば、Axis IPカメラは、FirefoxのモーションJPEGストリームに使用します。 Internet Explorerの場合、Axisではプラグインを使用する必要があります。
Firefoxのみのサポートが要件を満たしている場合は、マルチパートレスポンスの各パートにcontent-lengthヘッダーを設定することをお勧めします。元のHTTPヘッダーとマルチパート応答で境界文字列を同一にすることが役立つ場合があります(HTTPヘッダーに「-」がありません)。
2つのアイデア:
Content-type: multipart/x-mixed-replace
-他はすべて同じままである必要があります。