- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
简单请求是满足以下条件的请求:
HTTP 方法匹配(区分大小写)以下之一:
HTTP header 匹配(不区分大小写):
但是看着这个test page这不会导致预检请求:
一般:
Remote Address:69.163.243.142:80
Request URL:http://aruner.net/resources/access-control-with-get/
Request Method:GET
Status Code:200 OK
请求 header
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,he;q=0.6
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:aruner.net
Origin:http://arunranga.com
Pragma:no-cache
Referer:http://arunranga.com/examples/access-control/simpleXSInvocation.html
User-Agent:Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
响应 header
Access-Control-Allow-Origin:http://arunranga.com
Connection:Keep-Alive
Content-Type:application/xml
Date:Sat, 26 Sep 2015 09:00:26 GMT
Keep-Alive:timeout=2, max=100
Server:Apache
Transfer-Encoding:chunked
迂腐地看一下 request
部分,在前面的标准部分中有许多 不是 的 header :
Cache-Control
不在列表中连接
不在列表中DNT
不是不在列表中User-Agent
不在列表中Accept-Encoding
不在列表中我知道那些更多的是“通用”标题。 但是accept-language
问题
我在这里错过了什么?根据标准部分,带有这些 header 的请求应该导致预检请求。
最佳答案
查看您的代码:
invocation.open('GET', url, true);
invocation.onreadystatechange = handler;
invocation.send();
您实际上并未设置任何自定义 header 。例如
invocation.setRequestHeader("X-Requested-With", "XMLHttpRequest");
因此不会有预检。默认浏览器 header 不算。预检机制仅用于确保接收站点允许跨域传递任何自定义 header ,例如我上面示例中的 header 。
关于导致 PREFLIGHT 的 HTTP header - 说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795489/
我已按照此步骤设置我的服务器以启用 CORS。 https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-c
这个问题在这里已经有了答案: How to resolve 'preflight is invalid (redirect)' or 'redirect is not allowed for a p
我尝试调用 CORS Rest API,但收到此错误: Failed to load resource: Preflight response is not successful 升级到 iOS10
我创建了一个 Firebase 可调用函数,返回一个简单的文本,但是当我在本地和我部署的应用程序上调用该函数时收到错误。 callable 函数是一个简单的函数,现在可以返回一些文本: exports
在 Windows 上使用 Firefox 45.8.0 ESR。 正在尝试加载 https://secure.scheduleonce.com/dana 页面未加载,在网络面板中我看到一个交叉的挂锁
我创建了一个 phonegap 应用程序,我在其中调用驻留在 nopCommerce 插件中的 WCF 服务。 发送 api 请求时出现以下错误: Cross-Origin Request Block
我在后端使用 vue 和 express + firebase 函数,但它一直给我这个错误。我部署了我的 firebase 函数并使用 localhost 来访问我的服务器。任何人都可以帮忙吗?谢谢!
我正在发出CORS POST请求,并将Content-Type标头设置为json。这会触发“预检选项”请求触发(这是好的,也是预期的) 此选项请求以200 OK响应,但这不是来自我的WebAPI应用程
前端:React 16.12.0 |后端:Spring 2.2.4.RELEASE 我目前面临有关预检 CORS 请求的问题。根据我的理解,每个非简单请求(例如带有授权 token 的 GET)都会触
我正在使用 Spring Boot 版本 2.0.0.M5 我的 JavaScript 应用程序在调用我公开的 Rest 端点时遇到问题。为了安全起见——我希望传入一个包含 api key 的 hea
我使用 Express 作为网络服务器,并使用客户端的同构获取模块来使用 XHR。 我的 Web 应用程序有三台服务器: 端口 3000 -> 管理网站 端口 3001 -> 公共(public)网站
我发现了几个类似的话题。然而,似乎还没有一个起作用。 问题 在我们当前的生态系统中,我们为我们的 http-apis 提供了三个服务器。两个用于测试,一个用于生产。 最近我们发布了使用 Angular
简单请求是满足以下条件的请求: HTTP 方法匹配(区分大小写)以下之一: 负责人 获取 发布 HTTP header 匹配(不区分大小写): 接受 接受语言 内容语言 最后的事件 ID Conten
我创建了登录 FE 并完成了它。和往常一样,我的 ajax goto 是 Axios。我的代码如下。 const baseUrl = http://localhost:5000/project/us-
我正在尝试向 WCF 服务(我拥有的)发出跨域 HTTP 请求。我已经阅读了几种处理跨域脚本限制的技术。因为我的服务必须同时适应 GET 和 POST 请求,所以我无法实现一些动态脚本标记,其 src
我使用react.js(在端口3000上运行)执行以下获取操作 var config = { headers: { 'Access-Control-Allow-Origin': '*',
我正在构建一个与 CakePHP 2.8 中实现的 REST API 对话的 Ionic 1 应用程序,使用 JSON Web Tokens (JWT)用于授权。 在未经授权的状态下,我的应用能够毫无
我创建了一个 RESTapi 来将数据插入我的数据库,它在 POSTMAN 扩展上工作得很好,但我在 angularjs http post 方法上遇到错误。 我的 Restapi 代码是在 yii2
我有一个带有 AngularJS 前端和 Web Api 2 后端的网络应用程序,它使用不记名 token 进行身份验证。 在 FireFox 和 IE 中一切都很好,但在 Chrome 中,我的初始
我正在构建一个网站,该页面使用 Jquery .load() 函数加载导航栏和一些其他资源(如下面的代码所示)。 $(function () { $("#na
我是一名优秀的程序员,十分优秀!