問題タブ [http-options-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3740 参照

cors - OPTIONS リクエストで ServiceStack が 405 を返す

ServiceStack を使用して REST Web サービスを構築しています。クロスドメイン リクエストを許可したいので、CorsFeature プラグインを登録しました。

私の AppHost は次のようになります。

次に、サービスに対して OPTIONS 要求が行われると、405 Method Not Allowed という結果になります。

リクエスト:

応答:

編集


空の Options メソッドをサービスに追加すると、実際に 405 がトリガーされなくなります。ただし、応答は空のようです。

以下を追加しても、空の応答が得られます。

httpReq.Method を httpReq.HttpMethod に、httpRes.EndServiceStackRequest() を httpRes.End() に変更する必要がありました。これは正しいです?

0 投票する
2 に答える
10094 参照

http - nginxで「OPTIONS *」リクエストを処理するには?

私の環境では、perlbal を使用してリクエストを nginx にリダイレクトしています。verify_backendがオンの場合。perbal は "OPTIONS *" リクエストを nginx に送信しますが、nginx はそれを不正なリクエストとして応答します。

RFC2616によると:

Request-URI がアスタリスク (" ") である場合、OPTIONS 要求は、特定のリソースではなく一般的な ?server に適用されることを意図しています。通常、サーバーの通信オプションはリソースに依存するため、" " リクエストは "ping" または "no-op" タイプのメソッドとしてのみ有用です。クライアントがサーバーの機能をテストできるようにする以外には何もしません。たとえば、これを使用して、HTTP/1.1 準拠 (またはその欠如) についてプロキシをテストできます。

perlbal はこの種のリクエストを送信しようとしていると思いますが、nginx はデフォルトでこれを処理できません。

リクエスト「OPTIONS * HTTP/1.0」を送信しようとすると、常に「HTTP 400 bad request」が表示されます。

127.0.0.1 - - [18/Feb/2013:03:55:47 +0000] "オプション * HTTP/1.0" 400 172 "-" "-" "-"

ただし、アスタリスク要求なしで「OPTIONS / HTTP/1.0」オプションで動作します:

127.0.0.1 - - [18/Feb/2013:04:03:56 +0000] "オプション/HTTP/1.0" 200 0 "-" "-" "-"

HTTP return 400 ではなく http return 200 で応答するように nginx を構成するにはどうすればよいですか?

0 投票する
2 に答える
19094 参照

codeigniter - PhilSturgeonのCodeigniterRestserverとBackbone.jsでのHTTPOPTIONSエラー

別のホスト/URLにあるRESTfulWebbackbone.jsサービスにモデルを保存しようとすると、アプリケーションがHTTP OPTIONSnotfoundエラーをスローします。

私の調査に基づいて、私はこの投稿から次のことを収集しました:

リクエストは常にOPTIONShttpリクエストヘッダーを送信し、POSTリクエストをまったくトリガーしません。

明らかに、「ユーザーデータに副作用を引き起こす」リクエストを含むCORSは、目的のHTTPリクエストメソッドを実際に送信する前に、ブラウザにOPTIONSリクエストヘッダーを使用してリクエストを「プリフライト」させ、承認を確認します。

私はこれを回避しようとしました:

  • バックボーンのemulateHTTPをtrueに設定します。

Backbone.emulateHTTP = true;

  • また、ヘッダーですべてのCORSおよびCSRFオプションを許可しました。

    header('Access-Control-Allow-Origin:*');
    header( "Access-Control-Allow-Headers:Origin、X-Requested-With、Content-Type、Accept"); header( "Access-Control-Allow-Methods:GET、POST、OPTIONS");

Backbone.emulateHTTPコード行が導入されたときにアプリケーションがクラッシュしました。

CodeIgniter RESTServerでOPTIONSリクエストに応答する方法はありますか?また、このリクエストの会話を無効にする他の方法はありますか?


私はこれを1つの解決策としてGithubで見つけました。少し時代遅れのようですので、使うべきかわかりません。

0 投票する
0 に答える
268 参照

java - 「オプション」リクエストを受け取ったとき、Web サーバーはどのように応答しますか?

HTTP Web サーバーに Options メソッドを実装したいと考えています。しかし、このメソッドの動作に関する適切なチュートリアルはまだ見つかりませんでした。このメソッドを実装するコードを 1 つ作成しました。私のコードはこの質問の最後にあります。

しかし、私が使用したサーバーの動作は間違っていると思います。オプション要求を受け取ったときにサーバーが応答する正確な方法/手順を教えてください。親切な対応をお待ちしています。

クライアントコード

サーバー コード (私のサーバーでは PUT、POST、GET、HEAD、OPTIONS メソッドが許可されています)

これはサーバーが応答する正しい方法ですか? そうでない場合は、Options Request を取得したときにサーバーが動作していることを教えてください。

0 投票する
2 に答える
1319 参照

java - GET リクエストをコントローラー内の 1 つのメソッドにマップし、OPTIONS リクエストを別のメソッドにマップするように Spring MVC を構成する

注釈を使用すると、これは非常に簡単になります。

XMLでこれを行う方法が見つかりません。次のような処理を行うマッピング ハンドラはありますか。

任意のポインタをいただければ幸いです。