什么是 CORS
Cross-origin resource sharing (CORS) 是一种机制,允许 Web 应用程序从不同的域访问其资源。它是一个在客户端 Web 应用程序中使用的机制,通常是由浏览器实现的。
在默认情况下,浏览器限制了通过 JavaScript 发起的跨源 HTTP 请求。跨源 HTTP 请求是指来自不同源(域、协议、端口)的 HTTP 请求。浏览器强制执行同源策略,以防止 Web 应用程序发起恶意请求。但有时需要让 Web 应用程序进行跨域请求,这时候就需要使用 CORS。
Express 中的 CORS
Express.js 是一个流行的 Node.js Web 框架,具有功能齐全而简单易用的 API。在 Express 中使用 CORS,需要使用第三方中间件包:cors
。使用 cors
中间件可以使 HTTP 请求支持跨域访问。
安装
npm install cors --save
使用
在 Express.js 应用程序中使用 CORS 需要执行以下步骤:
- 引入
cors
模块
const cors = require('cors');
- 将
cors
中间件添加到应用程序中
app.use(cors());
默认情况下,cors
中间件启用了所有跨域请求。如果只允许特定域访问,则可以将一个对象传递给 cors()
方法。对象应包含 origin
属性,它是允许访问的域名列表:
-- -------------------- ---- ------- ----- -------------- - ------------------------- ------------------------- -------------- ------- -------- -------- --------- - -- ----- -------- ---- -- ------ -- ----- ------ ---- -- ---- --------- -- --------- ------ -------------- ------ -- ------------------------------- --- --- - --- --- - ---- ---- ------ --- ---- ---- ---- --- - - ------ ------ ---- --- --------- --------- ------ ------------ ----------- ------- - ------ -------------- ------ - ----
- 如果您要在 Express.js 应用程序中允许的方法和标头类型列表中添加其他方法或标头,则可以添加以下配置:
app.use(cors({ methods: ['GET', 'POST', 'PUT', 'DELETE'], headers: ['Content-Type', 'Authorization'] }));
示例代码
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---- - ---------------- ----- --- - ---------- -- -------- ---------------- ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - ------------------- ------- -- ---- ------- ---
结论
在 Web 开发中,使用 CORS 是十分常见的。通过 Express.js 中间件的使用,可以实现跨域请求的访问,使得开发更加便利。具体需求根据业务场景不同,可自由调整 cors
配置的参数,从而实现定制化的配置。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6714d4f3ad1e889fe215f78b