zoukankan      html  css  js  c++  java
  • 前端跨域-未完待续

    一、什么是跨域?

      跨域是指一个域下的文档或脚本试图去请求另一个域下的资源(广义的),我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。

    二、什么是同源策略?

    同源策略:同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器的一些正常功能就会受到影响。

    同源:所谓同源(即指在同一个域),就是两个页面具有相同的协议、主机、端口号

    当协议、主机、端口号有一个不同时,就是跨域。

       存在以下三种特殊情况,可以无视同源策略

    1、加载图片,image标签src所指向的图跟地址是可以跨域的
    
    2、用link标签加载css,href指向地址也是可以跨域的
    
    3、script标签加载js,src指向的js地址也是可以跨域的

    三、跨域会导致的问题

    1、Cookie、LocalStorage无法读取,因为它们在两个源,也就是没有在一个域
    2、DOM 和 Js对象无法读取
    3、AJAX 请求不能发送

    四、解决方案

    1.JSONP

    2.CORS

    3.通过修改document.domain来跨域

    4.使用window.name来进行跨域

    5. 使用HTML5中新引进的window.postMessage方法来跨域传送数据

    未完待续...

  • 相关阅读:
    Scars To Your Beautiful
    【BZOJ1833】【ZJOI2010】数字计数(数位DP)
    滑块拼图
    神经元(prufer序列+dp)
    sequence(dp+hash+二分搜索+前缀和优化)
    循环移位(后缀自动机)
    MST(最小生成树+倍增)
    nyoj 845【水】
    分割问题【知识点】
    扩展欧几里得【知识点】
  • 原文地址:https://www.cnblogs.com/cdj61/p/13030998.html
Copyright © 2011-2022 走看看