Hawkeye Park..
7
响应标题:"如何响应HTTP OPTIONS请求?" 要回答这个问题,我想知道您为什么要回复OPTIONS请求?谁/什么向您发送OPTIONS请求,为什么? 许多公共服务器以某种形式的"错误"或"不允许"(500,501,405)进行响应.因此,除非您处于特定情况,即您的客户将合理地发送OPTIONS请求并期望返回有用/有意义的信息(例如,WebDAV,CORS),否则您可能希望回答:"不要这样做."
关于"OPTIONS /转换HTTP/1.1"请求的问题:除非您知道您的服务器有一些客户端,否则客户端会向"/ conversion"发送OPTIONS请求并期望响应"Allow:CONVERT" ,"答案是否定的:那样回答是没有意义的.我认为,多数实现做支持选项和响应"允许",用标准的HTTP方法作出回应.
摘要:OPTIONS立即存在问题,因为它不支持缓存.替代方案:服务器范围的元数据:尝试众所周知的URI.特定于资源:尝试在其响应上使用链接标头,或者在该资源的表示格式中使用链接.
最后,如果您所追求的是服务描述,请查看WADL或RSDL.
编辑:
dotnetguy在下面的评论中提出了一个很好的观点:OPTIONS在某些情况下无疑是有价值的(例如,CORS); 我当然不打算另有说法.
这篇文章很好,并且有权威,但请参阅"为什么HTTPbis将OPTIONS放入,然后"和评论部分.使用CORS,REST系统应该能够响应OPTIONS,特别是如果要从基于JavaScript的Web应用程序使用API.JS框架在实际的HTTP调用之前触发"预检"选项请求是很常见的. (4认同)