当前位置:首页 > 文章 > 正文内容

解决外链资源加载异常问题,应用 meta referrer 标签

lz176683小时前文章9

今日问题

上午维护个人博客时发现,多篇文章里引用的第三方图床图片出现加载失败(裂图)的情况,检查网络和图片链接均无问题,推测是第三方服务器对请求来源做了限制。

解决过程

  1. 排查原因:通过浏览器开发者工具(Network 面板)查看图片请求的响应信息,发现请求头里的「Referer」字段携带了博客文章的完整 URL,而图床服务器因 “非白名单域名 Referer” 拒绝了资源请求;

  2. 查找解决方案:查阅 HTML 元标签相关文档,了解到 <meta name="referrer" content="no-referrer"> 可控制浏览器不携带 Referer 信息;

  3. 实施操作:在博客模板的 <head> 标签内添加该元标签,代码如下:


  4. <head>
        <meta charset="UTF-8">
        <title>我的博客标题</title>
        <!-- 新增:隐藏请求来源Referer -->
        <meta name="referrer" content="no-referrer">
    </head>
  5. 验证效果:清理浏览器缓存后刷新页面,图片成功加载,再次查看 Network 面板,请求头中已无 Referer 字段,问题解决。

知识点记录

  1. Referer(请求头字段,拼写错误):浏览器向服务器发起请求时,自动携带的 “来源页面 URL”,用于标识请求的来源;

  2. <meta name="referrer" content="no-referrer"> 作用:全局禁用 Referer 传递,第三方服务器无法获取页面来源信息;

  3. 补充:若仅需针对单个链接隐藏来源,可使用 <a href="xxx" rel="noreferrer">,无需全局设置。

返回列表

没有更早的文章了...

下一篇:应该不会再见