iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于浏览器同源策略的有哪些跨域方式
  • 858
分享到

基于浏览器同源策略的有哪些跨域方式

2023-06-08 01:06:38 858人浏览 安东尼
摘要

小编给大家分享一下基于浏览器同源策略的有哪些跨域方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Flash跨域这是一种比较老的跨域方式,现在基本不使用了,要是有

小编给大家分享一下基于浏览器同源策略的有哪些跨域方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Flash跨域

这是一种比较老的跨域方式,现在基本不使用了,要是有兴趣可以自己去看看,在这里就不做讨论。

服务器中转代理

由于同源策略只是浏览器的限制,服务器不会受到同源策略的限制,所以我们可以发送请求的时候,可以设置一个代理服务器,这个代理服务器和我们当前的url同源,首先请求到该同源的服务器,然后由同源的服务器重定向到我们要访问的url,由于服务器和服务器之前不受同源策略的限制,所以即使不是同源的也可以不受限制的访问。

基于浏览器同源策略的有哪些跨域方式

服务器中转代理也是我们常用的一种方式。

JSONP跨域。

jsonP跨域,是我们经常使用到的一种跨域方式。想必大家都有这样的经历,在script中使用,src属性,引入外部资源,比如Jquery,稍微注意以下就能看到请求的url其实和我们本地的url不同源的,但是为什么我们却可以请求到资源呢? 这是因为src属性具有跨域的能力。凡是拥有src这个属性的标签都拥有跨域的能力,而且都是GET请求比如<script>、<img>、<iframe>

使用方法

因为我们无法监控通过<script>src属性是否把数据获取完成,所以我们需要做一个处理。一般是我们向后端传递参数的时候,传一个处理跨域获取数据的函数,服务端会根据参数cb的值返回 对应的内容。

function doJSON(data){}var scri = document.createElement('script')scri.src = 'Http://xxx' + '?cd =' +doJSON

这样后台返给我们的数据像这样: doJSON(data), 这样在我们的页面中就会自动执行我们定义好的方法,而且方法的参数就是我们想要的数据,我们就可以在该方法中处理相关业务逻辑。

document.domain

我们可以在页面中设置documentl.domain,但是这只是针对基础域名相同的情况。例如 在bj.58.com与tj.58.com 中设置document.domain = '58.com',那么只要基础域名是58.com,就可以访问这两个页面

以上是“基于浏览器同源策略的有哪些跨域方式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 基于浏览器同源策略的有哪些跨域方式

本文链接: https://www.lsjlt.com/news/250893.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL怎么更新字段长度
    要更新MySQL表中的字段长度,可以使用ALTER TABLE语句。以下是更新字段长度的示例: ALTER TABLE table_...
    99+
    2024-05-14
    mysql
  • sql如何修改表字段长度
    要修改表字段的长度,可以使用ALTER TABLE语句,然后使用MODIFY COLUMN来修改字段的长度。以下是一个示例: ALT...
    99+
    2024-05-14
    sql
  • mysql数据量太大如何解决
    有几种方法可以解决MySQL数据量过大的问题: 数据库分区:将数据库表按照某种规则进行分区,分成多个小表,可以提高查询速度和管理...
    99+
    2024-05-14
    mysql
  • MySQL单表数据量过大如何解决
    在MySQL中,当单表的数据量过大时,可以采取以下几种方法来解决问题: 使用索引:在表的字段上创建适当的索引,可以提高查询效率,...
    99+
    2024-05-14
    mysql
  • mysql导出数据量过大如何解决
    当导出的数据量过大时,可以尝试以下方法来解决问题: 使用数据库工具:使用数据库管理工具如Navicat或MySQL Workbe...
    99+
    2024-05-14
    mysql
  • mysql中log_bin的作用是什么
    在MySQL中,log_bin是二进制日志文件的名称,用于记录所有对数据库进行更改的操作,如插入、更新、删除等。这些二进制日志文件可...
    99+
    2024-05-14
    mysql
  • mysql中log_bin的特点有哪些
    log_bin是MySQL的二进制日志文件,用于记录所有对数据库的修改操作,包括插入、更新、删除等。 log_bin文件是M...
    99+
    2024-05-14
    mysql
  • mysql rpm包安装的方法是什么
    要在Linux系统上安装MySQL RPM包,可以按照以下步骤操作: 下载MySQL的RPM包:你可以从MySQL官方网站下载适...
    99+
    2024-05-14
    mysql
  • mysql rpm包安装后怎么使用
    安装MySQL RPM包后,您可以通过以下步骤来使用MySQL: 启动MySQL服务:使用以下命令来启动MySQL服务: sud...
    99+
    2024-05-14
    mysql
  • lxml中怎么处理XML命名空间默认值
    在lxml中处理XML命名空间的默认值可以通过使用xpath()方法和register_namespace()方法来实现。...
    99+
    2024-05-14
    lxml
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作