0

RFC に準拠していない HTTP リクエストをブラウザで送信する必要があります。URL をエンコードせずに GET リクエストを送信する必要があります。空白を %20 としてエンコードしたくありません。ブラウザがそのようなリクエストを送信するべきではないことは知っていますが、それが私のプロジェクトに必要なものです。

私は次のアイデアを使用することを考えました:

  1. XHR - URL エンコードを自動的に実行し、それを操作する方法はありません。
  2. Java/Silverlight アプレット - 新しいブラウザー タブで URL を開くと、エンコードされていない URL を渡すことができません。私の知る限り、アプレットは URL アドレスをブラウザーに渡すだけで、それを開くのはブラウザーです。
  3. Java/Silverlight アプレット - 生の HTTP 要求を送信し、ブラウザ タブに結果を表示しようとしています。出来ますか?もしそうなら、応答はブラウザによって有効なオリジンソースのサーバー応答として扱われますか? (サーバーの応答に含まれる) スクリプトを使用して DOM にアクセスする必要があるため、SOP を壊すことはできません。

サンプル リクエスト:
GET リソース abc HTTP/1.1
ホスト: example.com

4

1 に答える 1

0

HTTP ヘッダーでは、GET http://www.stackoverflow.com/ HTTP1.1のようになります。

URL でスペースをエスケープしないと、HTTP ヘッダーが破損します。HTTP 準拠のサーバーは、要求を理解できません。

ただし、これを行う正当な理由がある場合は、データをソケットに書き込んでサーバーに送信することができます。詳細については、Oracle のチュートリアルの Java Sockets を参照してください。

于 2013-06-18T20:29:02.457 に答える