テキストとバイナリ データを受け入れることができる WEB API に XML を転送したいと考えています。トラフィックサイズの観点から転送する最良の方法は何ですか?
クリア テキストとして転送するか、バイナリ データのストリームとして転送する方がよいでしょうか?
テキストとバイナリ データを受け入れることができる WEB API に XML を転送したいと考えています。トラフィックサイズの観点から転送する最良の方法は何ですか?
クリア テキストとして転送するか、バイナリ データのストリームとして転送する方がよいでしょうか?
転送する XML データが大きすぎることが懸念される場合は、圧縮を使用してみてくださいgzip
。圧縮が最も一般的です。Web API にはこのための機能が組み込まれていますが、別の圧縮アルゴリズムが必要な場合など、必要に応じて「自分でロール」することもできます。
幸いなことに、データ ストリームの圧縮と解凍に役立つコードがたくさんあります。以下を見てください。
最後に、 の使用を検討できますExpect: 100-Continue
。API クライアントが、POST、PUT、PATCH などの大きなエンティティ ボディを含むリクエストを送信しようとしている場合、HTTP ヘッダーで「Expect: 100-continue」を送信し、「100 Continue」応答を待ってから送信できます。エンティティ本体を送信します。これにより、API サーバーは、帯域幅を浪費してエラー応答 (401 や 403 など) を返す前に、要求の有効性の多くを検証できます。この機能をサポートすることはあまり一般的ではありませんが、API の応答性を向上させ、一部のシナリオで帯域幅を削減できます。( RFC2616 §8.2.3 )。
リンクが古くなったり削除されたりした場合、リンクでいっぱいの回答が問題になる可能性があることは理解していますが、ここで Web API 圧縮を説明することは、あまりにも大きなテーマです。私の答えがあなたを有益な方向に導くことを願っています。