谷歌推进《机器人排除协议》草案,使之成为互联网标准

2019 年 7 月 25 日

谷歌推进《机器人排除协议》草案,使之成为互联网标准

自 1994 年以来,《机器人排除协议》(REP)一直控制着定义如何防止爬行器访问网站的规则。现在,谷歌已经向互联网工程工作组(IETF)提交了一份草案,使其成为一个互联网标准。此外,谷歌还开放了协议实现的源代码


拟稿反映了现实世界中依赖robots.txt规则超过20年的经历,Googlebot和其他主要爬虫程序都使用了txt规则,依赖REP. txt规则的网站约有5亿个。


谷歌保留了 REP 的基本定义,但定义了许多没有考虑到的场景,并将其扩展到现代 web。特别是,新的 REP 不限于 HTTP,可以用于其他协议,包括 FTP 或受约束的应用程序协议。另一项新规定实际上限制了 robots.txt 文件的最大大小,要求开发人员至少解析其前 500kb 的内容。虽然不排除现有的 robots.txt 文件比这更大,但这一要求的目的是减少服务器上的负载。 新 REP 还定义了 robots.txt 文件缓存的时间,基本上形式化了谷歌已经执行了很长一段时间的规则,它设置了最大缓存生命周期为 24 小时,而没有指定缓存控制指令,例如 HTTP cache - control。在 robots.txt 文件由于服务器故障而无法访问的情况下,这条规则有一个例外,在这种情况下,可以延长缓存,以避免爬行以前已知不允许的页面。


草案中没有包括一些正在使用的指令,包括爬行延迟nofollownoindex,谷歌将在 2019 年 9 月 1 日之前停用所有处理此类规则的代码。这意味着,特别是依赖于 noindex 来阻止页面进入谷歌索引的网站管理员应该寻找替代方法了。这些方法包括在 HTML 中使用 noindex robots 元标记、HTTP 响应头或返回 404 或 410 HTTP 状态代码。谷歌还澄清说,虽然 robots.txt Disallow 指令并不保证某个页面不会被列在谷歌索引中,但他们的目标是,如果出于某种原因索引了这些页面,那么将来这些页面的可见性就会降低。


如前所述,谷歌还开放了他们在爬虫程序中使用的c++库的源代码。这个库可以被认为是协议草案的一个参考实现,并包含一个 robots.txt 规则的测试工具。谷歌新 REP 草案包括一个更新的 Backus-Naur 描述的语法规则,一个必须遵守的 robots.txt 文件。c++库和 Backus-Naur 规范的方向都是使开发人员更容易可靠地构建 robots.txt 解析器。


新的 REP 草案目前处于征求意见的状态,正在等待各相关方的反馈。


原文链接:


Google Formalizes Robots Exclusion Protocol in Effort to Make It an Internet Standard


2019 年 7 月 25 日 08:00962

评论

发布
暂无评论
发现更多内容

极客时间 - 架构师训练营 - week1 - 作业2

jjn0703

极客大学架构师训练营

食堂就餐卡系统设计

大雄

带你学够浪:Go语言基础系列 - 8分钟学复合类型

柠檬橙

golang 后端

年龄性别的问题,好像也不是太大问题……

zhoo299

生活 随笔

架构文档-作业01

ashuai1106

UML

mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比,于是写了个插件。

why技术

Java 源码 mybatis

架构师训练营练习:食堂就餐卡系统设计

Shawn

ARTS-02

NIMO

ARTS 打卡计划 ARTS活动

SpringBoot整合Quartz实现任务定时

北漂码农有话说

SpringBoot 2

软件建模与设计文档

大雄

UML

史上最诡异问题,iOS 单例初始化两次,你遇到过吗?

liu_liu

ios 初始化 单例 两次

scala callback hell

HackMSF

编程 最佳实践

ARTS-week-2

youngitachi

ARTS 打卡计划

ARTS-WEEK1

Allen

软件架构基础

dapaul

架构 架构师 极客大学架构师训练营

第一周UML作业

吴建中

面试了 6 轮 Google中国 之后,还是挂了

石头

面试 谷歌Google Java 面试 经验分享 面经

作业1-食堂就餐卡系统设计

A Matt

[安利] WSL Linux 子系统,真香!附完整实操

猴哥一一 cium

Docker Linux 推荐 WSL2 Windows 10

架构师训练营-学习笔记-第一周

心在飞

极客大学架构师训练营

使用 Docker Desktop 中的 Kubernetes

FeiLong

Docker Kubernetes

ngrok穿越本地服务器,极客大学架构师训练营 第一课总结,John 易筋 ARTS打卡Week 03

John(易筋)

极客时间 极客大学 ngrok

就餐卡系统设计

满山李子

ARTS打卡Week 03

teoking

ios LeetCode

ARTS 打卡 WEEK3

编程之心

ARTS 打卡计划

公司出了一款新产品,要不要招代理商?

石云升

用户增长 价值网依赖 产品定位 新产品

第一周学习总结

A Matt

极客大学架构师训练营

MySQL 笔记(二)日志系统

奈何花开

Java MySQL

HBase 常用 Shell 命令手册

Rayjun

Java HBase

第一周作业

andy

第一周总结

andy

第一周总结

谷歌推进《机器人排除协议》草案,使之成为互联网标准-InfoQ