2011-10-27 2 views

答えて

0

はいクライアントからサーバーにバイナリデータを送信することは可能です。これは、ファイルをアップロードするためにenctype="multipart/form-data"のフォームを使用するとまったく同じことが起こります。バイナリデータが送信されます。送信する前にクライアントでデータをエンコードする必要はありません。別の例は、Request.InputStreamを使用してサーバー上で読み取ることができるPOST要求本体に未加工バイトを書き込むことです。

+0

@ダリンなぜjsで文字列をエスケープしたいのですか?またはエンコード..? –

+0

@RoyiNamir:ほとんどの場合、マルチパートリクエストを設定するよりも、データをエンコードして通常のリクエストで送信する方がずっと簡単です。 – Guffa

+0

@Royi Namirの1つの特定の例は、URLエンコードです。 'window.location.href = '/foo.aspx?name=' + name;' 'name'はjavascript変数です。このようにjavascriptから次のURLを呼び出すとします。今度は、この名前変数を適切にエンコードしないと、要求を破る可能性があります。たとえば、 'name = 'foo&bar = baz''を想像してみてください。したがって、次のurlが呼び出されます: '/foo.aspx?name = foo&bar = baz'これはもちろん、クエリー文字列に別のパラメータを追加してから間違っています。正しい方法は 'window.location.href = '/foo.aspx?name=' + encodeURIComponent(name);'です。 –

関連する問題