Express.js 中 CORS 的配置与实现

阅读时长 4 分钟读完

什么是 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 请求支持跨域访问。

安装

使用

在 Express.js 应用程序中使用 CORS 需要执行以下步骤:

  1. 引入 cors 模块
  1. cors 中间件添加到应用程序中

默认情况下,cors 中间件启用了所有跨域请求。如果只允许特定域访问,则可以将一个对象传递给 cors() 方法。对象应包含 origin 属性,它是允许访问的域名列表:

-- -------------------- ---- -------
----- -------------- - ------------------------- -------------------------
--------------
  ------- -------- -------- --------- -
    -- ----- -------- ---- -- ------ 
    -- ----- ------ ---- -- ---- ---------
    -- --------- ------ -------------- ------
    -- ------------------------------- --- --- -
      --- --- - ---- ---- ------ --- ---- ---- ---- --- - -
                ------ ------ ---- --- --------- ---------
      ------ ------------ ----------- -------
    -
    ------ -------------- ------
  -
----
  1. 如果您要在 Express.js 应用程序中允许的方法和标头类型列表中添加其他方法或标头,则可以添加以下配置:

示例代码

-- -------------------- ---- -------
----- ------- - -------------------
----- ---- - ----------------

----- --- - ----------

-- --------
----------------

------------ ----- ---- -- -
  --------------- ---------
---

---------------- -- -- -
  ------------------- ------- -- ---- -------
---

结论

在 Web 开发中,使用 CORS 是十分常见的。通过 Express.js 中间件的使用,可以实现跨域请求的访问,使得开发更加便利。具体需求根据业务场景不同,可自由调整 cors 配置的参数,从而实现定制化的配置。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6714d4f3ad1e889fe215f78b

纠错
反馈