同源策略

同源策略

    同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能
    所谓同源是指: 协议,域名,端口都相同,就是同源, 否则就是跨域
   以http://www.it666.com:80/index.html为例:
   协议: http/https/...
    一级域名: it666.com
    二级域名: www
    端口号: 80/3306/...

判断是同源还是跨域

    // 协议+一级域名+二级域名+端口号都相同, 所以同源
    http://www.it666.com:80/index.html
    http://www.it666.com:80/detail.html

    // 协议不同, 所以不同源, 是跨域
    http://www.it666.com:80/index.html
    https://www.it666.com:80/index.html

    // 一级域名不同, 所以不同源, 是跨域
    http://www.it666.com:80/index.html
    http://www.itzb.com:80/index.html

    // 二级域名不同, 所以不同源, 是跨域
    http://www.it666.com:80/index.html
    http://edu.it666.com:80/index.html

    // 端口号不同, 所以不同源, 是跨域
    http://www.it666.com:80/index.html
    http://www.it666.com:8090/index.html

同源策略的影响:

    在同源策略下, 浏览器只允许Ajax请求同源的数据, 不允许请求不同源的数据
    但在企业开发中, 一般情况下为了提升网页的性能, 网页和数据都是单独存储在不同服务器上的
    这时如果再通过Ajax请求数据就会拿不到跨域数据
    例如:
    通过本地服务器打开某html,向本地服务器某个php发送请求:
        当前的网页地址: http://127.0.0.1:80/jQuery/Ajax/19-%E5%90%8C%E6%BA%90%E7%AD%96%E7%95%A5.html
    请求的资源地址: http://127.0.0.1:80/jQuery/Ajax/19-SameOriginPolicy.php
   此时,能正常获取到资源
   但是,如果通过浏览器直接打开该html,向本地服务器发送请求:
       当前的网页地址: http://127.0.0.1:63342/jQuery/Ajax/19-%E5%90%8C%E6%BA%90%E7%AD%96%E7%95%A5.html
    请求的资源地址: http://127.0.0.1:80/jQuery/Ajax/19-SameOriginPolicy.php
    此时,不能获取到该资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值