美文网首页
前端基础(问答23)

前端基础(问答23)

作者: 郑哲明 | 来源:发表于2016-08-25 15:22 被阅读23次

keywords: 同源策略、跨域、jsonp。


  • 什么是同源策略(same origin policy)

同源:协议、域名、端口相同
同源策略:为保证用户数据安全而规定的不同源网页彼此间的限制行为,主要有以下3种:
1、cookie、localStorage和indexDB无法读取;
2、DOM无法操作;
3、ajax无法发送;

  • 什么是跨域?跨域有几种实现形式?

跨域:在突破同源策略,在不同源的网页间交换数据。

实现形式:
1、降域,利用document.domain;
2、jsonp;
3、cors;
4、postMessage;
5、hack:比如hash或window.name;

  • jsonp的原理是什么?

jsonp即 json with padding,是利用script加载不同源页面数据的一种方式。

原理:
1、script标签可以引用不同源的数据,比如加载jquery,因此可以利用script加载不同源的数据;
2、利用script加载的数据会被当作js执行,因此,如果和后台约定数据格式,便可以得到不同源的数据;
3、具体来说,在script标签的src属性后面加上查询字符串callback = xxx,后台传回数据,形如xxx(data),我们便可以利用预先定义的xxx函数得到相应数据。

**缺点: **
1、安全性不高,只要得到相应api,每个人都可以得到数据(可以在src中加token提高安全性)。
2、无法向后台写入数据。

  • CORS是什么?

CORS即cross origin resorce sharing(跨域资源共享),允许向跨源服务器发送ajax请求,突破同源策略。

参考:跨域资源共享

相关文章

  • 前端基础(问答23)

    keywords: 同源策略、跨域、jsonp。 什么是同源策略(same origin policy) 同源:协...

  • 前端基础(问答4)

    keywords:三种列表,语义化,class与id,行内元素(inline elements),块级元素(blo...

  • 前端基础(问答5)

    keywords:选择器、优先级、class与id、命名空间、伪类。 CSS选择器常见的有几种? 常见的CSS选择...

  • 前端基础(问答7)

    keywords: 定位、浮动、布局、文档流、负margin。 文档流的概念指什么?有哪种方式可以让元素脱离文档流...

  • 前端基础(问答11)

    keywords: 白屏、FOUC、asyns、defer、渲染机制、JavaScript数据类型、。 CSS和J...

  • 前端基础(问答19)

    keywords: Ajax。 Ajax是什么?有什么用? Ajax = Asynchronous JavaScr...

  • 前端基础(问答12)

    keywords:函数声明、函数表达式、声明前置、argument、重载、作用域链 函数声明和函数表达式有什么区别...

  • 前端基础(问答13)

    keywords: 数组读写、字符串转化数组、数组转字符串、函数、数学函数、随机数、ES5数组、排序。 数组方法里...

  • 前端基础(问答14)

    keywords: 数组读写、字符串转化数组、数组转字符串、函数、数学函数、随机数、ES5数组、排序。 问题 基础...

  • 前端基础(问答9)

    keywords: 负边距、relative、三栏布局、圣杯布局、双飞翼布局。 负边距在让元素产生偏移时和posi...

网友评论

      本文标题:前端基础(问答23)

      本文链接:https://www.haomeiwen.com/subject/evpisttx.html