什么是跨域,什么是同源

所谓跨域

  1.就是跨域名,跨端口,跨协议

     例如:如果有两个服务器,服务器A和服务器B,服务器A上存储了php数据,script,甚至是css这些文件,而你在服务器B上只写了html,然后你所在的服务器B上动态创建script,css,php数据(使用ajax请求),向服务器A上请求你想要的script,css,php数请求据(使用ajax)这些文件,请求这些文件后,你再在服务器B上运行你的html,虽然你的地址是在服务器B上,但是你还是可以运行效果与在服务器A上运行的效果是一样的,这样就是跨域名,跨端口,跨协议,实现了跨域。

  简单来说,就是你请求的文件,只要含有“src”,“href”这些属性,你就能在其他服务器上,请求你所需要的文件,然后在自己的服务器上运行,就实现了跨域(跨域名,跨端口,跨协议)。

原生的动态请求script文件

  var _script = document.createElement("script");
  _script.src="http://10.9.156.108/html5/Ajax/api/sendMessage.php?user="+_user+"message="+_message;
  _script.type="text/javascript";

jQuery跨域请求script文件

$(document).ready(function(){
  //getJSON 后面带参数,如果不带参数默认不跨域 ,带了参数跨域

  //跨域优先
  $.<link rel="icon" href="../img/favicon.ico" type="image/x-icon">("http://10.9.156.108/HTML5/lesson24/test.js?callback=?",[data],function(){});

  //跨域  有getJSON 和 jsonp 两种方式
  $.get("http://10.9.156.108/HTML5/lesson24/test.js=",null,function(){},"jsonp");
   
});

所谓同源

  1.就是同域名,同端口,同协议

  例如:如果你有一个服务器A,你所需要的script,css,php文件都在服务器A,你写的html也在服务器A上,然后运行,出现了效果,如果你想在另一台电脑上运行你的项目,只要把你写在服务器A上的协议,域名,端口以及你的项目名称复制下来,在另一台电脑上运行,同样会出现相同的效果,这就实现了同源。

  简单来说,就是你的协议,域名,端口甚至项目名称都一样,不同电脑都能实现同样的效果。

无论是同台电脑,还是不同台电脑,与是不是同一台电脑没有关系,都能实现跨域和同源。

么是协议,域名,端口?

解释:假如一个网址是  http://baidu.com:8080?user=name&pwd=password

http://   是协议   

baidu.com  是域名(注意:前面加上“wwww”即www.baidu.com不是域名)

8080  是端口    

user=name&pwd=password   是地址带的参数

时间: 2024-10-12 09:15:31

什么是跨域,什么是同源的相关文章

Jsonp的js实现,跨域请求,同源策略机制

Jsonp的js实现,跨域请求,同源策略机制1.跨域请求:请求URL的协议,域名,端口三者之间任意一个与当前页面地址不同即为跨域 存在跨域的情况: 网络协议不同,端口不通,域名不同,子域名不同,域名和域名对应IP不同2.同源策略机制:(相对情况,保护隐私不被泄露) 同源策略概念(Same-Origin Policy) 同源指:域名,协议,端口相同.不同源的客户端脚本(Javascript,ActionScript)在 没明确授权的情况下,不能读写对方的资源.3.Jsonp的js实现: Jsonp

跨域访问和同源策略

因为在同一个浏览器窗口中能够同时打开多个网站的页面,而且它们都处于同一个会话中,如果不禁止跨域访问则会造成用户隐私数据泄露和登录身份冒用的问题,所以浏览器会使用同源策略限制跨域访问. 在浏览器中,通过JS代码访问不同域名下的URL或者iframe时,会被禁止访问.而不是通过JS代码进行的跨域访问不存在跨域问题!比如跨域加载图片,引用JS文件,下载各种文件,使用iframe跨域嵌入其他网站的页面都是可以的. 跨域访问被禁止有时会给应用开发带来阻碍,但在符合特定条件时也有相应的方法在保证安全的情况下

同源策略和跨域-总结

目录: 1.同源策略 2.跨域 3.几种跨域技术 1.同源策略 什么叫同源? URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.相反,只要协议,域名,端口有任何一个的不同,就被当作是跨域. e.g. 对于http://store.company.com/dir/page.html进行同源检测: URL 结果 原因 http://store.company.com/dir2/other.html 成功 仅路径不同 http://store.company.c

浏览器同源与跨域问题总结

最近工作中的项目需要通过浏览器ajax请求访问本地的一个http服务,不可避免遇到了跨域的问题,还要兼容IE,踩了不少坑,在这里作一个总结吧 1.浏览器同源策略 跨域问题是由于浏览器的同源策略所引起的,浏览器同源策略在web应用中非常重要,没有它web的世界会一团糟 URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源. 比较容易忽略的一点就是协议不同也会引发同源策略,http和https是不同源的 浏览器的同源策略就是,从一个源上加载的脚本不允许访问不同源的

ajax(同源与跨域)

7. http协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则 HTTP协议,即超文本传输协议(Hypertext transfer protocol).是一种详细规定了浏览器和服务器之间互相通信的规则,HTTP协议分为请求 和响应 两个部分组成. 7.1. 请求与请求报文 get请求的请求报文详解 //--------------------------请求行-------------------------------- // GET 请求方式 // /day0

Django 【第十九篇】JS实现的ajax、同源策略和前端jsonp解决跨域问题

一.回顾jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高: jquery 实现的ajax index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t

浏览器的同源策略和CORS跨域

浏览器的同源策略和CORS跨域 什么是同源: 域名/ip + 端口 + 协议 http协议默认端口:80 https协议默认端口:443 浏览器对于非同源的请求会拒绝接受响应信息. 前后端分离的项目一般都会涉及到跨域问题 JSONP跨域(之前的解决方案) 不足: 只能GET请求 前端和后端都要支持 原理: 利用的就是浏览器对加载静态资源不做限制,比如 <script src="跨域的地址"></script> jQuery版JSONP $.getJSON(&qu

同源策略和跨域

在前端开发的过程中,我们经常遇到"跨域"的问题,以下的文章将列举一下我在工作中碰到的跨域问题.以及稍稍的探讨一下为什么会有"跨域"问题的出现,和所谓的"同源策略" 同源策略 1. 历史 1995 年由 Netscape 公司提出,之后被其他浏览器厂商采纳. 同源策略只是一个规范,并没有指定其具体的使用范围和实现方式,各个浏览器厂商都针对同源策略做了自己的实现. 一些 web 技术都默认采取了同源策略,这些技术范围包括但不限于Silverlight

你不知道的JavaScript--Item33 跨域总结与解决办法

一.神马是跨域(Cross Domain) 说白点就是post.get的url不是你当前的网站,域名不同.例如在*aaa.com/a.html*里面,表单的提交action是bbb.com/b.html. 不仅如此,www.aaa.com和aaa.com之间也属于跨域,因为www.aaa.com是二级域名,aaa.com是根域名. JavaScript出于安全方面的考虑,是不允许跨域调用其他页面的对象的(同源策略 Same-Origin Policy). 特别注意两点: 第一,如果是协议和端口造

AJAX跨域问题总结

跨域是什么? 首先说下同源,同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口完全相同.而跨域就是不同源 ! 能够进行跨域的请求 一般a,img,link[rel=stylesheet],video,audio,等等能够发出请求的标签都可以实现跨域访问.但是这些标签不能得到返回的东西,所以一般不会用他们来请求资源. 常见的跨域处理方案: 由于ajax先天设计的时候,不能实现跨域访问.所以就出现了处理跨域这样的问题. ① jsonp来处理跨域,下面用jQuery来实现,关键代码如下: