В ответ на заголовок: «Как ответить на запрос HTTP OPTIONS?» Чтобы ответить на этот вопрос, я хотел бы знать, почему вы хотите ответить на запрос OPTIONS? Кто / что отправляет вам запрос OPTIONS и почему? Многие общедоступные серверы отвечают той или иной формой «ошибка» или «не разрешено» (500, 501, 405). Итак, если вы не находитесь в конкретной ситуации, когда ваши клиенты будут разумно отправлять запросы OPTIONS и ожидать обратно полезной / значимой информации (например, WebDAV, CORS), вы, вероятно, захотите ответить: «Не делайте этого».
Что касается вашего вопроса о запросе «OPTIONS / convert HTTP / 1.1»: если вы не знаете, что есть какой-то клиент вашего сервера, клиент, который отправит запрос OPTIONS на «/ conversion» и ожидает ответа с «Allow: CONVERT , "ответ - нет: не имело бы смысла так отвечать. Я думаю, что большинство реализаций, которые действительно поддерживают ОПЦИИ и отвечают «Разрешить», отвечают стандартными методами HTTP.
Вот отличная статья по этой теме .
Резюме: OPTIONS сразу вызывает проблемы, потому что он не поддерживает кеширование. Альтернативы: общесерверные метаданные: попробуйте известные URI . Для конкретного ресурса: попробуйте использовать заголовок Link в ответах или ссылку в формате представления для этого ресурса.
Наконец, если вам нужно описание услуги, взгляните на WADL или RSDL .
РЕДАКТИРОВАТЬ:
dotnetguy делает хорошую точку в комментариях ниже: OPTIONS, несомненно, ценный в определенных контекстах (например, CORS); Я, конечно, не хотел утверждать обратное.
Allow: CONVERT
??