金三银四精选java面试题-跨域请求是什么?有什么问题?怎么解决?

发布时间:2023-12-27 10:07:13
 

跨域请求是什么?有什么问题?怎么解决?

跨域是指浏览器在发起网络请求时,会检查该请求所对应的协议、域名、端口和当前网页是否一致,如果不一致则浏览器会进行限制,比如在www.baidu.com的某个网页中,如果使用ajax去访问www.jd.com是不行的,但是如果是img、iframe、script等标签的src属性去访问则是可以的,之所以浏览器要做这层限制,是为了用户信息安全。但是如果开发者想要绕过这层限制也是可以的:

 

  1. response添加header,比如resp.setHeader("Access-Control-Allow-Origin", "*");表示可以访问所有网站,不受是否同源的限制
  2. jsonp的方式,该技术底层就是基于script标签来实现的,因为script标签是可以跨域的
  3. 后台自己控制,先访问同域名下的接口,然后在接口中再去使用HTTPClient等工具去调用目标接口
  4. 网关,和第三种方式类似,都是交给后台服务来进行跨域访问

 
上一篇 金三银四精选java面试题-浏览器发出一个请求到收到响应经历了哪些步骤?
下一篇 金三银四精选java面试题-零拷贝是什么

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题