IT *_*DAV 11 http file-not-found http-options-method preflight
我正在开发一个Web应用程序.它使用基本身份验证.它必须处理OPTIONS请求.这些是Web浏览器预检请求以及来自WebDAV客户端的功能支持请求.
据我所知,OPTIONS请求必须在不请求身份验证的情况下处理(即我的服务器不应该响应401 Unauthorized),它必须给出如下响应:
OPTIONS https://localhost:44305/path/file.ext HTTP/1.1
Connection: Keep-Alive
User-Agent: some app
Host: localhost:44305
HTTP/1.1 200 OK
Content-Length: 0
DAV: 1, 2, 3
Date: Fri, 27 Dec 2013 17:10:21 GMT
Run Code Online (Sandbox Code Playgroud)
我的问题是:我是否应该始终对OPTIONS请求提供相同的响应,无论URL是什么,还是应该依赖于URL.
例如,如果找不到上例中的file.ext,我应该回复'404 Not found'还是'200 OK'?
Ste*_*ich 14
来自http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html:
OPTIONS方法表示请求有关Request-URI标识的请求/响应链上可用的通信选项的信息.该方法允许客户端确定与资源相关联的选项和/或要求,或服务器的能力,而不暗示资源动作或启动资源检索.
因此OPTIONS可能是特定于服务器的,也可能是特定于资源的,具体取决于您的应用程序.如果您使用跨源资源共享(CORS,例如尝试将XMLHttpRequest发送到另一台服务器),它将发送OPTIONS请求以检查服务器是否在对POST请求进行跟踪之前是否期望对特定资源的跨源请求.因此,在这种情况下,OPTIONS应该具有特定于资源的行为.对于WebDAV,服务器特定的OPTIONS可能就足够了,因为客户端只会检查允许的方法(例如,如果支持WebDAV方法).
| 归档时间: |
|
| 查看次数: |
11618 次 |
| 最近记录: |