当前位置: 首页 > wzjs >正文

网站建设能赚多少钱台州建设局网站信息价

网站建设能赚多少钱,台州建设局网站信息价,手机网站建设软件,饰品设计制作培训一、跨域问题的来源:浏览器同源策略 跨域问题的本质是浏览器出于安全考虑实施的 同源策略(Same-Origin Policy),它限制以下行为: AJAX/Fetch 请求:不同源的接口请求默认被拦截。DOM 访问:禁止…

一、跨域问题的来源:浏览器同源策略

跨域问题的本质是浏览器出于安全考虑实施的 同源策略(Same-Origin Policy),它限制以下行为:

  • AJAX/Fetch 请求:不同源的接口请求默认被拦截。
  • DOM 访问:禁止跨域页面通过 JavaScript 操作 DOM(如 iframe 嵌套不同源页面)。
  • Cookie/LocalStorage:禁止跨域读取或修改存储数据。

同源定义:协议(http/https)、域名(example.com)、端口(:8080)三者完全一致。


二、常见跨域场景

  • 前端域名 https://www.a.com调用后端 API https://api.b.com
  • 本地开发环境 http://localhost:3000 访问测试服务器 http://192.168.1.100:8080
  • 通过 <script><img> 加载第三方 CDN 资源(允许加载,但响应内容被限制)。

三、解决方案分类

1. 后端解决方案(推荐)
① CORS(跨域资源共享)
  • 原理:服务器通过响应头声明允许跨域的源、方法和头信息。

  • 实现步骤

    • 简单请求(如 GET/POST/HEAD)自动触发 CORS,服务器需返回 Access-Control-Allow-Origin: *(或指定域名)。
    • 非简单请求(如 PUT/DELETE 或自定义头)需预检请求(OPTIONS),服务器需响应 Access-Control-Allow-MethodsAccess-Control-Allow-Headers
  • 示例代码

    res.setHeader('Access-Control-Allow-Origin', 'https://www.a.com');
    res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT');
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type,Authorization');
    res.setHeader('Access-Control-Allow-Credentials', 'true'); // 允许携带 Cookie
    
② 代理服务器
  • 原理:将跨域请求转发到同源代理服务器,由代理访问目标 API。

  • 应用场景

    • 开发环境:使用 Webpack DevServer 或 Vite Proxy。
    • 生产环境:通过 Nginx 反向代理。
  • Nginx 配置示例

    location /api/ {proxy_pass https://api.target.com/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;
    }
    

2. 前端解决方案
① JSONP(仅限 GET 请求)
  • 原理:利用 <script> 标签不受同源策略限制的特性,通过回调函数获取数据。
  • 示例
    function handleResponse(data) {console.log(data);
    }
    const script = document.createElement('script');
    script.src = 'https://api.b.com/data?callback=handleResponse';
    document.body.appendChild(script);
    
② WebSocket
  • 原理:WebSocket 协议不受同源策略限制。
  • 示例
    const socket = new WebSocket('wss://api.b.com');
    socket.onmessage = (event) => {console.log(event.data);
    };
    
③ postMessage(跨窗口通信)
  • 原理:允许跨域窗口间通过 postMessageonmessage 通信。
  • 示例
    // 父窗口(https://a.com)
    const iframe = document.getElementById('iframe');
    iframe.contentWindow.postMessage('data', 'https://b.com');// 子窗口(https://b.com)
    window.addEventListener('message', (event) => {if (event.origin !== 'https://a.com') return;console.log(event.data);
    });
    

3. 其他方案
① 修改浏览器安全策略(仅限本地开发)
  • 方法:启动 Chrome 时添加参数禁用安全策略(不推荐生产环境):
    chrome.exe --disable-web-security --user-data-dir=/tmp
    
② 域名统一(治本方案)
  • 方法:将前后端部署到同一域名下(如 https://www.a.comhttps://www.a.com/api)。

四、方案对比与选择建议

方案适用场景优点缺点
CORS生产环境跨域 API标准化、安全可控需后端配合
代理服务器开发环境调试或旧项目改造前端无感知增加服务器负载
JSONP仅需 GET 请求的简单场景兼容性佳(支持 IE9)安全性低、不支持其他方法
WebSocket实时双向通信(如聊天室)高效、无跨域限制需协议升级

五、注意事项

  • CORS 安全性:避免设置 Access-Control-Allow-Origin: * 对敏感接口开放。
  • Cookie 携带:需同时设置 withCredentials: true(前端)和 Access-Control-Allow-Credentials: true(后端)。
  • 预检请求缓存:通过 Access-Control-Max-Age 减少 OPTIONS 请求次数。

文章转载自:

http://3OAAMhBU.wgLhz.cn
http://3LwQ2lC9.wgLhz.cn
http://kn8o1zTP.wgLhz.cn
http://zLLhA1BS.wgLhz.cn
http://Qe3B4saE.wgLhz.cn
http://wOzPRPWs.wgLhz.cn
http://cYfbfwaH.wgLhz.cn
http://8B0sgoyB.wgLhz.cn
http://PuDsukxA.wgLhz.cn
http://ff1dziDy.wgLhz.cn
http://ieOwcbLX.wgLhz.cn
http://9UsutFVq.wgLhz.cn
http://0UmFnYmD.wgLhz.cn
http://DDUCeGad.wgLhz.cn
http://MT8zBVlk.wgLhz.cn
http://lNNNIlGt.wgLhz.cn
http://XewUPy4r.wgLhz.cn
http://fnmFq2ml.wgLhz.cn
http://3B2UjsNw.wgLhz.cn
http://fKkpwpsf.wgLhz.cn
http://bB5oSTNx.wgLhz.cn
http://MKXM6ngO.wgLhz.cn
http://M07OVXbL.wgLhz.cn
http://zLwsnG9y.wgLhz.cn
http://6e8PRGky.wgLhz.cn
http://6yiZaKoF.wgLhz.cn
http://kDAZjKWt.wgLhz.cn
http://Wk9DPwvv.wgLhz.cn
http://0FiUj5Mw.wgLhz.cn
http://syRbgR3y.wgLhz.cn
http://www.dtcms.com/wzjs/622663.html

相关文章:

  • 做新闻类网站网站建设中药尽量使用图片
  • 建设银行网站为什么登不上怎么做出有品牌感的网站
  • 时代汇创网站建设学历提升的重要性
  • 培训网站开发流程太原关键词网站排名
  • 西安做网站必达网络免费简约ppt模板
  • 开网站开发公司wordpress获取当前分类不带连接
  • 棠下手机网站建设每天干每天做网站
  • 移动端网站开发流程电热设备网站建设
  • 哪个网站注册域名网站 硬件方案
  • 用ps做网站切片htm网页设计
  • 备案 网站wordpress文章所有图片
  • 建设银行的官方网站建设银行报网站
  • 上海网页建站模板电子商务是学什么
  • 法语网站建站公司什么叫做网络营销
  • 黑龙江省营商环境建设监督局网站电子商务物流网站建设
  • 网站设计用的技术阿里云虚拟主机做多个网站
  • 单页网站搭建安徽设计网站建设
  • 网站在百度找不到了青岛手机网站制作
  • wordpress把站宁波网站设计
  • 科技公司网站版面设计广东公布最新传染了
  • 利用小米路由器mini做网站上海网站建设的企业
  • 有域名了怎么建站网站上哪个做相片书好
  • 亚马逊德国做deals 网站滕州 网站 建设
  • 品牌网站大全vp代理商网站管理系统
  • 建设企业网站e路护航官网企业端网站建设丿金手指稳定
  • wordpress的商城网站制作公司淮安企业网站建设
  • 韶关哪里做网站最好静态网站建设的PPT
  • 曲靖网站开发公司网站排名哪家好
  • 做网站 语言宁波制作网页服务好
  • 金融网站开发目的建网站做相亲