云服务您现在的位置是:首页 > 博客日志 > 云服务

百度站长工具链接提交自动提交 Cross-Origin Read Blocking (CORB) blocked cross-origin response

<a href='mailto:'>微wx笑</a>的头像微wx笑2019-07-23 11:06:14云服务人已围观关键字:跨域

简介百度搜索资源平台》站点管理中,提供了站长进行链接提交的工具,其中一个功能是自动提交。自动提交又分为:主动推送(实时)、自动推送、sitemap。自动推送是百度搜索资源平台为提

百度搜索资源平台》站点管理中,提供了站长进行链接提交的工具,其中一个功能是自动提交。自动提交又分为:主动推送(实时)、自动推送、sitemap。FvL编程技术_踩坑日志_进阶指南 - 无知人生

自动推送是百度搜索资源平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。查看详情>>FvL编程技术_踩坑日志_进阶指南 - 无知人生

自动推送工具代码

请将以下代码安装在网站页面中,安装完成后即可实现链接自动推送功能。查看安装方法>>FvL编程技术_踩坑日志_进阶指南 - 无知人生

<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

什么是自动推送工具?自动推送工具解决了什么问题?FvL编程技术_踩坑日志_进阶指南 - 无知人生

自动推送JS代码是百度站长平台最新推出的轻量级链接提交组件,站长只需将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。FvL编程技术_踩坑日志_进阶指南 - 无知人生

为了更快速的发现站点每天产生的最新内容,百度站长平台推出主动推送工具,产品上线后,部分站长反馈使用主动推送方式的技术门槛较高,于是我们顺势推出更低成本的JS自动推送工具。一步安装便可实现页面自动推送,低成本,高收益。FvL编程技术_踩坑日志_进阶指南 - 无知人生

我将上面的JS脚本代码加入到网站的尾部内容模板,这样就可以一次性加入所有的页面。FvL编程技术_踩坑日志_进阶指南 - 无知人生

但访问页面的时候,浏览器控制台却提示:FvL编程技术_踩坑日志_进阶指南 - 无知人生

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://www.baidu.com/search/error.html with MIME type text/html. 
See https://www.chromestatus.com/feature/5629709824032768 for more details.

明显是出现了跨域的问题。
FvL编程技术_踩坑日志_进阶指南 - 无知人生

通过搜索看了很多关于 Cross-Origin Read Blocking (CORB) blocked cross-origin response 问题的解决方法,FvL编程技术_踩坑日志_进阶指南 - 无知人生

其实解决的方法都是要在服务端做工作。FvL编程技术_踩坑日志_进阶指南 - 无知人生

A、真正提供服务的服务端做修改,添加 Access-Control-Allow-Origin 头。

第一种方法:被请求页面加上下面的代码,最好content填写域名;FvL编程技术_踩坑日志_进阶指南 - 无知人生

<meta http-equiv="Access-Control-Allow-Origin" content="*">

第二种方法:在请求控制器加上加上下面的代码;FvL编程技术_踩坑日志_进阶指南 - 无知人生

header("Access-Control-Allow-Origin: *");

第三种方法:IIS、Apache、Nginx可以直接配置Access-Control-Allow-Origin 跨域,具体如下:FvL编程技术_踩坑日志_进阶指南 - 无知人生

1、IIS配置:只需要在IIS添加HTTP响应标头即可!FvL编程技术_踩坑日志_进阶指南 - 无知人生

 Access-Control-Allow-Headers:Content-Type, api_key, Authorization
Access-Control-Allow-Origin:*

2、Apache配置:主要修改http.confFvL编程技术_踩坑日志_进阶指南 - 无知人生

<Directory "/Users/cindy/dev">
AllowOverride ALL
Header set Access-Control-Allow-Origin *
</Directory>

或者,修改Apache伪静态规则文件.htaccessFvL编程技术_踩坑日志_进阶指南 - 无知人生

<IfModule mod_setenvif.c>  
    <IfModule mod_headers.c>  
        <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">  
            SetEnvIf Origin ":" IS_CORS  
            Header set Access-Control-Allow-Origin "*" env=IS_CORS  
        </FilesMatch>  
    </IfModule>  
</IfModule>

3、Nginx配置:主要是修改nginx.conf;FvL编程技术_踩坑日志_进阶指南 - 无知人生

location ~* \.(eot|ttf|woff|svg|otf)$ {
     add_header Access-Control-Allow-Origin *;
}

上面的eot|ttf|woff|svg|otf,表示请求后缀类型,或者也可以直接写如下代码:FvL编程技术_踩坑日志_进阶指南 - 无知人生

location / {  
  add_header Access-Control-Allow-Origin *;  
}

B、编写/使用代理

不管你使用哪一种语言,Java、PHP、ASP 还是什么其它的,实现一个WebAPI来供自己调用,这样就解决了跨域的问题。
FvL编程技术_踩坑日志_进阶指南 - 无知人生

具体的实现其实就是通过服务端语言,模拟一个HTTP请求。如:PHP发送HTTP请求的6种方法FvL编程技术_踩坑日志_进阶指南 - 无知人生


FvL编程技术_踩坑日志_进阶指南 - 无知人生

但百度的这个问题有点复杂,还没有分析 push.js 的具体内容,向百度提交了反馈,看看怎么回复再说。FvL编程技术_踩坑日志_进阶指南 - 无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

很赞哦! () 有话说 ()

相关文章

站点信息

  • 建站时间:2018-10-24
  • 服务期限阿里云ECS 2027年到期
  • 主题模板:基于《今夕何夕》修改
  • 文章统计:198篇
  • 文章评论:27条
  • 文章阅读:2308次
  • 文章点赞:914次
  • 微信公众号:扫描二维码,关注我们
  • 微信公众号-微wx笑