前端/移动开发面试题更新 2026-08-05

在前端项目里,跨域问题通常如何应对?请列举常用的跨域处理手段,并比较各自的优势与不足。

前端/移动开发安全意识技术原理方案权衡

考察说明

考查对跨域机制及常见解决方案的掌握程度,以及权衡不同方案的能力。

回答思路

  1. 【回答框架 1】跨域由浏览器同源策略引起,限制不同源请求读取响应,但请求本身可能已发送。常见解决方案包括 JSONP、CORS、代理服务器等。
  2. 【回答框架 2】JSONP 通过 script 标签绕过同源限制,只支持 GET,需后端配合,有安全风险如 XSS。
  3. 【回答框架 3】CORS 是规范标准,通过后端设置 Access-Control-Allow-Origin 等响应头实现,支持各种方法,需处理预检请求,配置灵活。
  4. 【回答框架 4】代理方案如开发环境 webpack-dev-server proxy,或 nginx 反向代理,将请求转发到后端,避免浏览器直接跨域,生产环境需相应配置。
  5. 【回答框架 5】其他如 postMessage、document.domain 等适用于特定场景。选择时需考虑安全、性能和开发成本。
  6. 【关键点 1】跨域机制由浏览器强制实施,服务端可主动配合。
  7. 【关键点 2】JSONP 实现简单但仅支持 GET,且需后端返回 callback。
  8. 【关键点 3】CORS 为标准方案,支持复杂请求,需处理预检与凭证。
  9. 【关键点 4】代理方案可隐藏后端地址,但增加部署复杂度。
  10. 【关键点 5】根据生产环境与安全要求选择合适方案。
  11. 【易错点 1】不要以为跨域请求无法到达服务器,注意非法请求的防护。
  12. 【易错点 2】CORS 跨域携带 Cookie 时需设置 withCredentials 与具体响应头。
  13. 【易错点 3】代理配置不当可能泄露内网信息或导致请求路径错误。