if - modified - since标头使CORS OPTIONS请求失败
If-Modied-Since header makes CORS OPTIONS request fail
在下面的代码自定义头(If-Modified-Since
)使ajax失败状态HTTP/1.1 405 Not Allowed
的OPTIONS
预飞行请求。但是,如果我删除标头,请求工作得像预期的那样好(我不确定OPTIONS
是否根本没有发送或开发控制台只是不显示它)。为什么会这样呢?(与googleapi托管的jquery相同)。
http = new XMLHttpRequest();
http.open('GET', 'http://code.jquery.com/jquery-2.1.4.min.js');
http.setRequestHeader('If-Modified-Since', 'Sat, 29 Oct 1994 19:43:31 GMT')
http.send();
另外,是否有一种方法来发送这个标题在xhr jquery cdn能够得到304
响应状态?
听起来像是Web服务器在说它不允许OPTIONS
动词(方法)。为了确认,检查响应是否包含Allow
标头(根据HTTP规范,它应该),如果是,它包含什么。如果不包含OPTION
-例如:,如果只有Allow: GET, HEAD, PUT
,那么OPTIONS
请求将总是失败。因此,如果你想做的事情依赖于使用OPTIONS
,它将无法在该服务器上工作。
根据CORS规范中的要求,设置If-Modified-Since
报头(或除Accept, Accept- language, Content-Language或少数Content-Type情况外的任何其他报头)会导致客户端被要求进行预飞行;做飞行前需要使用OPTIONS
方法。但是CORS规范和其他规范都不要求所有Web服务器必须支持OPTIONS
方法;而在Web服务器不这样做的情况下,我想你会得到你在这里看到的那种响应。
相关文章:
- CORS-重定向到第二个GET正在接收的页面
- node.js请求数据事件未在CORS ajax调用中触发
- 带有凭据的角度文件上载(CORS)不起作用
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- SmartGWT数据源和CORS
- CORS-服务器端cookie没有保存在chrome浏览器上
- CORS:否'访问控制允许来源'header-但是php设置头文件
- CORS:访问控制允许原点不等于提供的原点
- 事件侦听器未在chrome扩展中的options.js中启动
- CORS保持在SecurityError上:操作不安全
- 绘制(重新加载)具有cors=“”的图像;匿名的“;在画布上(javascript)
- CORS故障无法解决jquery,laravel5.2
- 在Golang回调函数中启用CORS
- 向localhost发出带有grunt的代理CORS请求
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- 可以'由于CORS问题,无法访问Heroku上的Flask API
- 带有自定义头的CORS GET:是否有可能摆脱OPTIONS
- if - modified - since标头使CORS OPTIONS请求失败
- 为什么经过验证的CORS请求的preflight OPTIONS请求在Chrome中工作,而在Firefox中不起作用?
- CORS:为什么我的浏览器不;t发送OPTIONS飞行前请求