• 同源策略和JSONP(概念性)


    同源策略

    浏览器有一个很重要的概念——同源策略(Same-Origin Policy)。

    所谓同源是指,域名,协议,端口相同。不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。

    同源策略是基于安全考虑的,当前域不能访问其他域的东西。但这也带来一个问题,不同域之间如何协助。   

    简单的来说,浏览器允许包含在页面A的脚本访问第二个页面B的数据资源,这一切是建立在A和B页面是同源的基础上。

    同源策略是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略。
    实际上,这种策略只是一个规范,并不是强制要求,各大厂商的浏览器只是针对同源策略的一种实现。它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。
    

    如果Web世界没有同源策略,当你登录FreeBuf账号并打开另一个站点时,这个站点上的JavaScript可以跨域读取你的FreeBuf账号数据,这样整个Web世界就无隐私可言了。

    参考文献:http://www.freebuf.com/articles/web/65468.html

    JSONP模式
    因为跨域的请求主要是为了能从别的服务器上获取数据,那么一般在数据获取完成后本地服务器都会做相应的数据处理,所以在JSONP这种模式里,会要求把返回结果放到本地一个回调函数中,这样就能直接通过本地回调方法对数据进行加工,这也就是我们常说的JSONP模式。

    JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。

    由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。

    利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。

    什么是成功?就是所有失败的路都走过了,只剩下一条路还没有走,这条路就叫成功!
  • 相关阅读:
    Linux 常用命令--来自B站Up主codesheep
    如何区别调用python2和python3
    fastp 使用
    使用bash shell删除目录中的特定文件的3种方法
    python 正则表达式 finditer
    vcf format
    vcf文件(call variants得来的)怎么看变异是纯合还是杂合
    js Object.preventExtensions()
    js 对象的属性特征
    shell基础 以及 sed、awk
  • 原文地址:https://www.cnblogs.com/yuqingfamily/p/5774311.html
Copyright © 2020-2023  润新知