面试被问到的同源策略和跨域问题之解决方案

知识点

    同源策略
    跨域
    JSONP
    CORS(服务端支持)
    document.domain
    window.name
    window.postMessage方法
    iframe加form
    代理 Nginx配置
同源策略
同源:协议,域名,端口,三者必须一致

ajax 请求时,浏览器要求当前网页和server必须同源(安全)

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。

跨域
跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的同源策略造成的,是浏览器施加的安全限制。

跨域的严格一点来说就是只要协议,域名,端口有任何一个的不同,就被当作是跨域。

加载图片 CSS JS 可无视同源策略




提示:
我们有时候就会引入一些cdn 的js和css等,这些地址肯定不是同源的,但却可以使用。
另外,有些图片如果做了防盗链限制(服务端上的处理)的话,就不能使用。

那么为什么可以无视呢?
浏览器这样做,都是有一定的考虑的,都是为了有一些功能,比如说:

 可用于统计打点,可使用第三方统计服务
 
                    
                    

你可能感兴趣的:(面试被问到的同源策略和跨域问题之解决方案)