ウェブサービス(通常は、例えば、簡単な例:JSONs
)は、大きなバイナリ入出力データを処理して返しますか?RESTサービスとビッグファイル
私は、大きなファイルを提供するHTTP POSTによってREST
サービスを呼び出し、後で大きな結果を読み返すことを意味しますか?それでRESTは大丈夫ですか? ( "Big" =数MB)
ウェブサービス(通常は、例えば、簡単な例:JSONs
)は、大きなバイナリ入出力データを処理して返しますか?RESTサービスとビッグファイル
私は、大きなファイルを提供するHTTP POSTによってREST
サービスを呼び出し、後で大きな結果を読み返すことを意味しますか?それでRESTは大丈夫ですか? ( "Big" =数MB)
JSONやXMLなどのテキストシリアライザでは、バイナリデータをBase64でエンコードする必要があるため、ファイルサイズは約33%増加します。このシナリオを処理するために、MTOMのような最適化されたプロトコルがあります。 WCF supports MTOMをそのまま使用してください。
ありがとうございます。 1つの質問ですが、JSONはバイナリデータをサポートしていますか? – Cartesius00
@Jamesの場合、JSONはテキストであるため、バイナリデータを通常はBase64でテキスト表示にエンコードする必要があります。これは、メッセージサイズが大幅に増加します。 –
JSONがなければ、RESTはHTTP GETを使用してバイナリデータを "直接"返しますか? – Cartesius00
RESTアーキテクチャーは、HTTPを使用してapplication/octet-stream
を処理することができます。これはバイトストリームです。 HTTPは非常に大きなファイルを確実に確実に処理できます。
RESTは主にHTTP経由のサービスなので、HTTPの標準的な利点と制限がRESTサービスにも適用されます。大きなファイルをWebアプリケーションにアップロードするのと同様の方法で、数MBの大きなファイルをREST APIのPOSTとして送信することができます。
わずか数メガバイト。 – Cartesius00
RESTアーキテクチャは、どのメディアタイプにも限定されません。 –