2009-03-27 23 views
0

ちょっとちょっと私は、クライアントが見ているHTMLの現在のバージョンを渡す安らかなxmlサービスを持っています。サーバー上のバージョンがクライアントと同じであれば、xmlの現在のサーバーバージョンで応答します。例:<Response ServerHTMLVersion="1" />xmlレスポンス付きの条件付きhtmlファイル出力

しかし、サーバーのHTMLバージョンが現在のクライアントバージョンよりも大きい場合、私はまだ<Response ServerHTMLVersion="2" />のような同じ応答を吐き出します。問題は私のクライアントアプリケーションは、HTMLファイルをダウンロードするために別々のHTTPリクエストを行う必要があります応答xmlのバージョンがクライアントのバージョンよりも大きいです

パフォーマンスの理由から、私はこのhttpリクエストを削減したいと思っていました。これを行う最善の方法。これはHTMLであることに問題がFATおよびエンコードが

OR

それも太っなりますされ、これを管理するためのより良い方法がある - 私は単にそれが安全XML作成し、XML応答であること追加するHTMLをエンコードする必要がありますか?私はすでに両方のxmlとhtmlの応答を既にgzipしていることに注意してください。

このパフォーマンスを念頭に置いておく方法を知りたかったのです。安心なxmlサービスはasp.net 3.5とiis 7で実装されています

答えて

1

HTTPヘッダーの使用について考えましたか?ここの主なデータはHTMLであり、ServerHTMLVersionはそのHTMLに関する「メタデータ」の一種ですから、うまくいくはずです。

個人的には、バージョンが一致すると空白になり、2)一致しないバージョンにはHTMLが返されます。次に、Pragma HTTPヘッダーを使用して、Pragma: "ServerHTMLVersion = 2"のようなメッセージを送信します。こうすることで、クライアントとサーバーのバージョンが異なるかどうかを簡単に確認し、異なる場合は完全な応答を取得することができます。

RESTサービスからHTMLを返すという議論がある人もいますが、私は個人的にはこれを完全に有効とみなし、実際のユーザーデータからメタデータを分離するきれいな方法と考えています。

-Jerod

+0

素晴らしいアイデアのjerod - 私はRESTサービスからHTMLを返す気に比べて性能がより興味を持っています - 関係ない;-) – Raj