什么是跨域请求?

简介: 什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http://www.

什么是跨域?

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。

所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

http://www.123.com/index.html 调用 http://www.123.com/server.PHP (非跨域)

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。

解决办法:

1、JSONP:

使用方式就不赘述了,但是要注意JSONP只支持GET请求,不支持POST请求。

2、代理:

例如www.123.com/index.html需要调用www.456.com/server.php,可以写一个接口www.123.com/server.php,由这个接口在后端去调用www.456.com/server.php并拿到返回值,然后再返回给index.html,这就是一个代理的模式。相当于绕过了浏览器端,自然就不存在跨域问题。

3、PHP端修改header(XHR2方式)

在php接口脚本中加入以下两句即可:

header('Access-Control-Allow-Origin:*');//允许所有来源访问

header('Access-Control-Allow-Method:POST,GET');//允许访问的方式

目录
相关文章
|
开发框架 算法 前端开发
一位.Net开发工程师的客户端技术栈的学习路线
从2018年硕士毕业后,我一直从事着.Net开发工作,趁着CSDN这次活动,给大家分享一下.Net客户端领域的技术栈的学习路线,这个学习路线,涵盖的是比较基础的内容,适合刚入门.Net的萌新学习和刚进入职场的毕业生查漏补缺,然后这个博文比较受大家的欢迎的话,后续可能会考虑出一个更详细的版本。致敬我彻夜学习的.Net。
一位.Net开发工程师的客户端技术栈的学习路线
|
Windows 安全
远程桌面和云主机,可以听到云主机内部的声音
有些云主机用户,在使用云主机的时候想借助云主机的高带宽听音乐或者看视频的,那么如何设置远程桌面和云主机,可以听到云主机内部的声音?下面小编就来个图文教程,希望能帮助到这些客户使用云主机。   本地计算机需要进行的设置: 1、打开本地机器的远程登录功能,这里介绍一种快捷的方式。
2644 0
|
11月前
|
前端开发
React 泛型组件
React 中的泛型组件是一种非常有价值的编程技术,它为我们提供了更强大、灵活和可扩展的组件开发方式,有助于我们构建更优秀的用户界面和应用程序。
181 52
|
11月前
|
资源调度 数据中心 网络虚拟化
掌握这9个术语,轻松搞定VXLAN!
【10月更文挑战第27天】
342 3
掌握这9个术语,轻松搞定VXLAN!
【qt】日历和定时器
【qt】日历和定时器
166 0
|
11月前
|
搜索推荐 数据挖掘 API
制造业CRM解决方案:管理升级之道
制造业面临订单价值大、交货周期长、客户开发难等挑战。CRM 系统通过全面管理客户信息、精准营销、改善服务质量和订单管理,有效解决了这些问题。成功案例显示,CRM 系统能显著提高销售转化率和客户满意度。推荐的 CRM 系统包括销售易、SalesForce、神州云动 Cloud CC、用友 CRM、金蝶 CRM 和 Zoho CRM。选择合适的 CRM 系统对制造业的数字化转型和可持续发展至关重要。
|
12月前
|
存储 NoSQL 编译器
如何检查结构体的对齐情况
在C/C++中,结构体的对齐情况会影响内存布局和访问效率。可以通过以下方法检查结构体的对齐情况:1. 使用 `sizeof` 操作符获取结构体大小;2. 使用 ` offsetof` 宏获取成员偏移量;3. 编译器提供的对齐属性或指令。
|
存储 缓存 算法
Vulkan 围炉夜话5
Vulkan 围炉夜话
189 4
|
Python
pyecharts:一款python画图神器
pyecharts:一款python画图神器
133 0
|
监控 数据安全/隐私保护 Android开发
智能家电设备连接下载安装APP
智能家电设备连接下载安装APP
457 7