問題タブ [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.
spring - Spring Data REST CORS - プリフライト OPTIONS リクエストを処理する方法は?
Spring Data REST を使用して RESTful API を構築しています。これまで、この RESTful サービスの HTML GUI は同じ Tomcat から提供されており、クロス オリジン リクエストに問題はありませんでした。
ここで、別のサーバーから静的ファイルを提供したいと考えています。これは、API が別のドメイン/ポートにあることを意味します。ブラウザは OPTIONS リクエストを送信して、サーバーから Access-Control ヘッダーを取得します。残念ながら、Spring Data REST はこれらの OPTIONS リクエストを処理せず、HTTP 500 を返します。
すべての OPTIONS リクエストを処理するカスタム コントローラーを作成してみました
これは OPTIONS では機能しましたが、他のすべてのリクエスト (GET など) は機能しなくなりました。
OPTIONS リクエストは、dispatchOptionsRequest ディスパッチャ サーブレット パラメータを介してオンに切り替えられます。
rest - OPTIONS の代わりに「501 Not Implemented」を使用することに問題はありますか?
すべて同じ URL/動詞パターンに従う一連の REST サービスがあります。
それらのいくつかは、URL/動詞の特定の重要でない組み合わせを実装していません。
これらのサービスを使用するアプリケーションは、どの操作が実装されているかを事前に知らないため、実装されていない操作を動的に検出する必要があります。
私は2つのアプローチを見ています:
- 操作要求時に 501 Not Implemented を送信
- サービスがサポート対象を宣言できるように OPTIONS サポートを設定する
最初のアプローチは、実装が簡単であり、肯定的なケースの要求が 1 つ少ないため (OPTIONS がキャッシュ可能でないことを考慮して)、現時点ではより良いようです。
そのアプローチに技術的に問題はありますか?
php - HTTP プロトコルの PUT と DELETE および PHP での使用法
序章
私は以下を読みました:
ハイパーテキスト転送プロトコル (HTTP) は Web の命です。ドキュメントを転送するか、AJAX 要求を行うたびに使用されます。しかし驚くべきことに、一部の Web 開発者の間では HTTP はあまり知られていません。
HTTP 動詞は、「統一されたインターフェース」制約の大部分を構成し、名詞ベースのリソースに対応するアクションを提供します。プライマリまたは最も一般的に使用される HTTP 動詞 (または適切に呼び出されるメソッド) は、 POST 、 GET 、PUT、およびDELETEです。
は?
さて、私は物事を見失うところまで来ました。
PUT
とDELETE
、彼らは言います。私は聞いたことがあるだけで、私が今まで見た PHP コードで通過するようなものを見たこともありませんPOST
。GET
$_PUT
$_DELETE
私の質問
これらのメソッド (PUT) および (DELETE) は何のためのもので、PHP でそれらを使用できる場合は、どうすればよいでしょうか。
注:これは実際には問題ではないことはわかっていますが、機会があればいつでも学習の機会をつかみ、可能であれば PHP でこれらのメソッドを使用する方法を学びたいと思っています。
javascript - ブラウザがCORS HTTP OPTION FOR POST REQUESTSを送信していない
jQuery は HTTP OPTION リクエストを送信してプリフライト CORS を開始する必要がありますが、常に HTTP POST を送信します。これは POST であるため、ブラウザーは Access-Control-Allow-Origin または Access-Control-Allow-Method を取得せず、ブラウザーには選択の余地がありませんが、応答は 404 になります。