首页 > 试题广场 >

说一说跨域是什么?如何解决跨域问题?

[问答题]
说一说跨域是什么?如何解决跨域问题?
1. 跨域的概念:浏览器不能执行其它的网站的脚本,这由浏览器的同源策略造成的,也是浏览器施加安全的限制。 2. 跨域解决方案: - jsonp - 前端proxy后端cors - 线上Nginx - websockt
发表于 2022-04-18 11:29:13 回复(0)
跨域:受浏览器同源策源(即协议,域名,端口号必须一致是浏览器的一种安全模式)的影响不能执行其他网站的脚本 解决的办法:前端:1.利用script中src属性发送jsonp请求但是这种方式只支持get请求无法解决其他的请求类型 2.前端配置一个代理服务器(proxy)代替浏览器去发送请求:因为服务器与服务器之间是可以通信的不受同源策略的影响。 服务端:服务端通过配置cors来解决跨域,配置响应头:setHeader(access-control-allow-origin,对应的域名)
发表于 2022-04-27 15:19:45 回复(0)
跨域是指浏览器不能执行其他网站的脚本,只要协议、主机地址、端口其中之一不同就算跨域。这是由浏览的同源策略造成的,跨域访问是被各大浏览器所禁止的;解决方案:1、jsonp在script标签中加入src 2、后端服务器的CORS(涉及预检options) 3、前端proxy代理+后端nginx反向代理。
发表于 2022-05-12 21:23:07 回复(0)
跨域:当前页面中的某个接口请求的地址和当前页面的地址如果协议、域名、端口其中有一项不同,就说该接口跨域了。 跨域限制的原因:浏览器为了保证网页的安全,出的同源协议策略。
发表于 2022-04-18 13:34:41 回复(0)
由于同源策略的限制,当协议、域名、端口号三者有一个不同时,就会产生跨域,解决跨域可以使用jsonp,就是利用script标签的src属性,因为src属性不受同源策略的限制,在项目中一般分为前后端解决,后端主要通过cros来实现跨域,前端在vue-cli中也给出了一种解决跨域的办法,就是在vue.config.js 中的devServer里面配置proxy代理,并开启跨域即可。
发表于 2022-08-22 22:02:18 回复(0)
跨域是指浏览器的同源策略是不允许执行其他网站上的脚本,只要协议,主机地址,端口其中之一不同就算跨域。跨域一般的解决方法时Jsonp,script标签不受同源策略影响;前台还可以设置代理proxy;后端也可以设置CROS,Access-Control-Allow-Origin;此外还有nginx的反向代理。
发表于 2022-04-26 12:32:33 回复(0)
跨域就是违反了浏览器的同源策略造成的,当前页面中的某个接口请求的地址和当前页面的地址如果协议、域名、端口其中有一项不同,就说该接口跨域了。跨域的解决方案:1.后端可以设置cors允许跨域实现;2.前端配置一个代理服务器(proxy)代替浏览器去发送请求:因为服务器与服务器之间是可以通信的不受同源策略的影响。 3.使用node中间件、nginx反向代理,让请求发给代理服务器,静态页面面和代理服务器是同源的,然后代理服务器再向后端服务器发请求,服务器和服务器之间不存在同源限制。
发表于 2022-05-11 21:08:31 回复(0)
一:跨域概念:当前页面地址和所请求的接口地址的请求协议,域名,端口其中一项不相同,则产生跨域,跨域原理是浏览器的同源策略 二:解决跨域:1. cors,后端设置允许跨域 2. jsonp,利用script标签请求资源不受同源限制,将回调函数拼接在请求地址上 3. 正向代理或反向代理,正向代理webpack代理,反向代理negix
发表于 2022-07-25 09:16:35 回复(0)
跨域形成的原因是因为浏览器的同源安全策略 当请求的地址与当前页面地址中协议 端口号 域名其中一个不同时就存在跨域问题 解决方法:1.在服务器中设置请求头 jsonp:原理是通过script标签导入函数实现的 只能对get接口起作用 cros:目前最常用的一种解决办法,通过设置后端允许跨域实现 代理跨域:设置代理服务器 当前页面与代理服务器是同源的 再让代理服务器像后端服器发请求 服务器中不存在跨域问题 node中间件
发表于 2022-06-06 20:31:12 回复(0)
1.概念:浏览器同源策略(协议,域名,端口三者是否一致)导致的跨域问题,是浏览器的一种安全限制; 2.解决方案:1)jsonp 2)后端cors 3)Nginx反向代理(将前端和web端代理到同一个ip端口下,就可以跳过同源策略) 4)vue项目的devServer设置proxy(同源策略是浏览器限制的,如果通过服务端发服务端就不会有这个限制,devServer就是通过创建一个node服务器发送请求)
发表于 2022-05-20 16:53:57 回复(0)
跨域:又称同源策略,是指当前页面某接口和当前页面地址有协议、域名、端口其中一项不相等的话就会触发跨域,其原因是浏览器为了保证安全才推出的同源策略。在前端开发环境下,可以使用打包工具提供的proxy来代理。也可以nginx反向代理、中间件来解决,其原理是跨域限制只是限制浏览器访问服务器,但反代和中间件只是代理服务器向后端服务器发送请求,再由代理服务器将请求转发到前端服务器上,服务器与服务器不存在跨域问题。后端则是通过设置请求头Access-Control-Allow-Origin:* Access-Control-Methods:GET,PUT,DELE,POST等。跨域的场景大多数在前后端分离开发和调用第三发的接口。
发表于 2023-02-15 06:52:18 回复(0)
违反同源策略,协议主机端口三个有一个不同,违法同源策略就会跨域,解决办法,jsonp,后端配置跨域,配置反向 代理
发表于 2023-02-09 21:04:54 回复(0)
概念:协议、端口号、域名其中一项不同就会有跨域的问题.解决方案1.cors,2.jsonp,3.配置代理服务器
发表于 2022-12-03 11:48:41 回复(0)
跨域:当前页面请求的接口地址与该页面的地址如果协议,域名,端口号有其中的一项不一致的话,就说明出现了跨域的现象 出现跨域的原因:浏览器为了保证网页的安全,出的同源协议策略 解决跨域: 1、可以通过cros解决,这是目前最常用的解决方法,通过设置后端允许跨域出现 主要有两种配置: res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader("Access-Control-Allow-Methods", "GET, PUT, OPTIONS, POST"); 2、可以通过node中间件或者nginx反向代理,由于node中间件和nginx反向代理都是让请求发给代理服务器,静态页面与代理服务器是同源的,所以可以通过代理服务器发送请求给后端服务器,这样子服务器与服务器之间就不存在同源限制了、 3、通过jsonp解决 4、通过H5新增的postmessage来解决 跨域的场景 前后端分离项目
发表于 2022-09-25 12:28:01 回复(0)
跨域的产生原因主要是因为服务器跟浏览器接口地址中三要素(协议、域名、端口号)不一样,加上浏览器的同源策略来导致的,前端使用 proxy 代理,相当于是在前端跟接口之间架设了一台服务器,来保证的三要素一致,接收跟请求数据都是通过代理服务器来使用,所以不跨域。(这周方法只在前端开发环境下有效)
发表于 2022-08-09 22:32:20 回复(0)
跨域:本质就是违反了同源策略,当接口请求的地址和当前页面的协议名、域名、端口号的任意一项不同就形成跨域,解决方案:常见的有1Vue框架配置代理2JSONP3CORS4nginx反向代理
发表于 2022-05-03 17:47:31 回复(0)
由于浏览器的同源策略,浏览器不能向其他网站发送请求; 解决办法: 1、jsonp:利用script标签可以听过src发送请求来实现,但是只能发送get请求,不够安全; 2、前端proxy代理和后端设置cros,proxy替代浏览器发送请求,因为同源策略是限制浏览器的,服务器和服务器之前发送请求是允许的;后端设置请求头setHeader(access-control-allow-origin,域名); 3、niginx反向代理、node中间件 4、postMessage:h5的api
发表于 2024-04-30 10:40:12 回复(0)
跨域:当前页面的地址只要协议、域名、端口其中一个与当前页面中某一接口的不同,就跨域了 解决:cors、代理、postmessage、jsonP
编辑于 2024-03-06 15:19:49 回复(0)
请求接口与当前页面的协议、域名、端口号 任一不同就会产生跨域的 ,解决方式: 前端设置代理proxy nginx
编辑于 2024-03-04 16:20:27 回复(0)
跨域就是违反了浏览器的同源策略 不能访问其他网站的脚本 ,就是 协议 域名 端口 不一样 我们可以使用一下几种方法解决: 1. 使用jsonp 解决,在script标签中src属性发送请求 但是只支持get请求 2. 后端开启cors 支持 改变响应头 3. 使用Nginx 反向代理 ,在发送请求时替换为真实的接口地址
编辑于 2024-03-02 11:02:50 回复(0)