Java教程

跨域

本文主要是介绍跨域,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、同源策略(same-origin policy )

  一种浏览器安全机制,是浏览器为了防止页面内的脚本被用于恶意目的而遵循的一种机制。即页面内的脚本访问资源时,必须保证页面和资源的来源相同。浏览器通过统一资源标识符(URI)的协议、域名以及端口号是否完全一致来判断二者是否同源【用于计算 URI 的“来源”的算法在 RFC 6454 第 4 节中指定】。判断两个网络资源是否同源,可以参考阅读:https://blog.csdn.net/zmx729618/article/details/53319383

  同源策略,对于 “依赖 http cookie 来维护授权用户 session 的” Web应用程序来说,具有特殊意义。因为这些 服务器上的Web应用程序,将根据 http cookie 信息进行敏感数据的操作。所以,客户端浏览器必须维护“无关来源页面之间的”严格分离,以防止丢失数据机密性和完整性。

  同源策略仅适用于脚本【Javascript】。这意味着通过 HTML 标签可以跨源访问另一来源的图象、CSS和动态加载脚本等资源。同源策略不适用于 HTML 标签,一些攻击就是利用了这一特性而被发起进行的。

  同源策略的概念是在 1995 年由 Netscape Navigator 2.02 版本引入的,旨在保护脚本对 DOM 的访问,但后来扩展到保护全局 “JavaScript 对象” 的敏感部分。之所以引入同源策略,是因为不久前的2.0版本支持在网页上编写脚本,特别是对文档对象模型 (DOM) 的编程访问。

  所有现代浏览器都实现了某种形式的同源策略,因为它是重要的安全基石。

  后来,同源策略被扩展,以定义大致兼容的安全边界【译者注:边界外不安全】,而应用到了其他web技术上,比如,Microsoft Silverlight、Adobe Flash 或 Adobe Acrobat,或者应用到了其他机制上,如 XMLHttpRequest。

 

这篇关于跨域的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!