ExpressJSforNodeJSを使用してRESTfulAPIを作成しました。このAPIを呼び出すためにBackboneJSを使用しています。
これが私のAPIがOPTIONSを介して返すサンプルヘッダーです:
Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Origin:http://localhost
Allow:GET,PUT,DELETE
Connection:keep-alive
Content-Length:14
Content-Type:text/html; charset=utf-8
Date:Sun, 19 Aug 2012 13:52:35 GMT
X-Powered-By:Express
最初に表示される2つのAccess-Control-Allowフィールドを含むようにヘッダーを変更しました。残りは、Allowフィールドを含め、expressによって自動的に生成されます。問題なくGETできます。ただし、BackboneJSでPUTまたはDELETEを実行しようとすると、次のことが発生します。
Method PUT is not allowed by Access-Control-Allow-Methods.
Method DELETE is not allowed by Access-Control-Allow-Methods.
当然、これを回避するために、これらのメソッドの両方を含めるように応答ヘッダーを変更できます。
しかし、これらと、ルートにバインドしたものに基づいてExpressJSが自動的に追加する基本的な「許可」との違いを理解したいと思います。違いはなんですか?