Como responder a uma solicitação HTTP OPTIONS?

O HTTPOPTIONS O método é supostamente usado para determinar quais outros métodos o servidor suporta em um determinado recurso. Dado isso, tenho duas perguntas:

Como é essa resposta? Eu vi exemplos com listas CSV emPublic, Allow, e até mesmoAccess-Control-Allow-Methods cabeçalhos. Eles são todos necessários? Qual é a diferença?RFC 2616 não parece ser muito útil aqui.

Seria apropriado usar isso para listar as ações que um recurso suporta em um ambiente não REST-API? Por exemplo, se meuConversionController suporta a açãoconvert, uma resposta como essa faria sentido:

Pedido:

OPTIONS /conversion HTTP/1.1

Resposta:

HTTP/1.1 200 OK
...
Allow: CONVERT
...

questionAnswers(2)

yourAnswerToTheQuestion