💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
产生跨域的“罪魁祸首”只有一个:那就是浏览器,具体说是浏览器的“同源策略”。 浏览器的同源策略用于隔离潜在恶意文件的重要安全机制。 跨域产生的原因是下面三点: 1. 浏览器的限制 2. 跨域 3. 请求是XHR(XMLHttpRequest) 对于第一个原因:很多人认为,发生跨域问题是服务器的行为:服务器不允许浏览器调用,其实不然,真正的原因是浏览器处于安全的考虑,当发现发出的请求是跨域请求时,就会做一些安全的校验,如果校验未通过,则就会报跨域安全问题。说白了,就是浏览器“多管闲事”,不是服务器不允许浏览器调用。 验证这种说法的方法是: 第一步:后端会有日志输出,说明后端正确收到请求了。 第二步:请求的状态码也是200表示请求成功,后端已经成功响应请求结果了,前端也成功获取了响应结果。 第三步:上面两部一切正常,但是浏览器控制台报错了,报告跨域安全问题。 对于第二个原因:请求不跨域,就会产生跨域的问题 对于第三个原因:也就是说如果发送的请求不是XHR请求,则就不会出现跨域安全问题,就算是跨域请求,浏览器也不会报错。 浏览器发送请求的途径有: ``` 1. <img src=""> 2. <script src=""> ``` 验证方法是:使用img标签或者script标签的src属性访问接口,然后看浏览器控制台是不会报跨域安全错误的。