gpt4 book ai didi

android - 移动应用不需要 CORS?

转载 作者:可可西里 更新时间:2023-11-01 05:39:58 28 4
gpt4 key购买 nike

当我制作 Web 应用程序时,我通常必须将这些 header 添加到 Express 以允许 CORS 请求。

app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
next();
});

但是对于 React Native 移动应用程序,我不必这样做。为什么会这样?

最佳答案

CORS 的要点是防止在一个域加载的网页发出 AJAX 请求或 HTTP 请求将数据修改到其他域。它的工作方式是 Web 浏览器被构建为在任何此类跨站点请求之前发送飞行前 HTTP OPTION 请求,并且服务器将发回一条消息,其中包含指定其 CORS 策略的 Access-Control-* header ,并且浏览器将根据它被告知它可以做什么来继续或中止请求。由于 native 应用程序根本不是从任何域加载的网页,因此不需要或应用 CORS 限制,应用程序的 HTTP 函数从不发送 OPTIONS 预检,并且服务器在没有 CORS 进入的情况下处理请求。如果您要在 Postman 中尝试这些请求,情况也是如此。但是请注意,如果您要使用混合移动应用程序(Cordova/Ionic/Phonegap 等),您将不得不处理 CORS,因为这些应用程序在设备的 WebView 中运行,这是一种浏览器并且将发送飞行前 OPTIONS 请求。

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

关于android - 移动应用不需要 CORS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239244/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com