zoukankan      html  css  js  c++  java
  • 关于跨域,你应该知道的

    首先得了解什么是跨域以及为什么会导致跨域?

    跨域是由浏览器的同源策略造成的,是一种针对浏览器的安全限制,即不同源的页面之间不能相互访问。

    同源策略是指请求双方的协议、域名、端口都要相同,有一个不同就会产生跨域。同时,跨域只针对请求方式为xhr类型的请求。

    了解了跨域产生的根本原因我们才能给出针对性的解决方案

    方案一:

    既然跨域是由浏览器的同源策略造成的,所以我们可以选择取消浏览器的同源策略...方案虽然可行但不现实。

    方案二:

    也就是大家都知道的JSONP,JSONP的原理其实是通过改变请求方式为script实现的,但这种方案的一个很大缺点是只支持get请求。

    方案三:

    CORS(跨域资源共享Cross-origin resource sharing),该方案需要在服务端响应头设置Access-Control-Allow-Origin属性值,当然也可以在服务容器tomcat或nginx配置文件进行设置。

    这种方案应该是目前应用最多的。

    方案四:

    代理proxy,既然跨域是由浏览器的同源策略造成的,只要请求不是从浏览器发出的就不存在跨域问题了,所以客户端借助代理服务器和后台进行请求交互,然后再由代理把响应结果回传给客户端就OK。


    以上只是针对跨域的简单说明,各种解决方案的具体应用可以自行了解~

  • 相关阅读:
    java中的静态变量,静态方法与静态代码块详解
    增删改查简单的sql语句
    Java中的输入流与输出流
    Java向mysql中插入时间的方法
    java中Statement 对象
    request和session获取参数的区别
    Session 详解
    Java中静态变量与非静态变量的区别
    MYSQL基础操作之数据约束与关联查询
    MYSQL基础操作之单表的增删改查
  • 原文地址:https://www.cnblogs.com/fengyuexuan/p/12552994.html
Copyright © 2011-2022 走看看