バイナリ(イメージ)とテキストベースのデータを単一のサーブレットレスポンスで送信する方法の例はありますか?たとえば、サーバー上で生成されたイメージとイメージマップをすべて返します。私はまた、この操作を実行するために使用する混合モードのMIMEタイプを見つけることができませんでした。サーブレット応答でバイナリとテキストデータを返す
思考?
バイナリ(イメージ)とテキストベースのデータを単一のサーブレットレスポンスで送信する方法の例はありますか?たとえば、サーバー上で生成されたイメージとイメージマップをすべて返します。私はまた、この操作を実行するために使用する混合モードのMIMEタイプを見つけることができませんでした。サーブレット応答でバイナリとテキストデータを返す
思考?
ブラウザのサポート(hereを読んで)まだかなりdiceyです。しかし、あなた自身がクライアント側で応答を解析しようとしているなら、かなり良い例があります。あなたが探しているMIMEタイプはmultipart/mixed
です。
これはHTTPとHTMLの仕組みではありません。 HTMLコードをロードするための最初の要求が行われます。このHTMLコードには、画像のURLを指す<img src="..."/>
タグが含まれています。その後、画像をロードするためにブラウザによって第2の要求が行われる。 1回のリクエストでHTMLと画像をダウンロードすることはできません。
Data URIを使用すると、生成されたHTMLにバイナリオブジェクトを埋め込むことができます。 など。
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4/8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">
も参照してください:マルチパート応答のhttps://serverfault.com/questions/241218/why-do-http-servers-not-send-a-single-file-back-when-possible#241224
うわー、それは同時に恐ろしいと素晴らしいです。 – digitaljoel
ページとすべての埋め込みオブジェクトが頻繁に変更されていない場合や、圧縮とキャッシュ制御を使用している場合は、スピードアップを高速化できます。ブラウザは、多くのアイテムではなく更新されているアイテムをチェックします。 –
はい、あなたはちょうど私が「ひどいと恐ろしい」と言った理由を説明しました。 – digitaljoel
多くのWAPブラウザは複数の部分からなる回答をサポートしていますが、私は「普通の」ブラウザはそうは思いません。
どのクライアントをターゲットにしていますか? – BalusC