拒绝垄断指控!谷歌利用开源打造官方互联网标准

栏目: 软件资讯 · 发布时间: 6年前

内容简介:谷歌希望将已有数十年历史的拒绝蜘蛛协议(Robots Exclusion Protocol,简称REP)转变为官方互联网标准,并将自己的robots.txt解析器作为推广的一部分进行开源。REP是1994年荷兰软件工程师Martijn Koster提出的一个标准,现在几乎变成了网站用来告诉自动爬虫程序哪些部分不应该被处理的标准。例如,谷歌的Googlebot爬虫器在为网站编制索引时扫描robots.txt文件,以查看特殊说明,了解它应该忽略哪些部分。如果根目录中没有这样的文件,它将假定可以对整个网站进行爬虫

拒绝垄断指控!谷歌利用开源打造官方互联网标准

【猎云网(微信号:)】7月2日报道(编译:油人)

谷歌希望将已有数十年历史的拒绝蜘蛛协议(Robots Exclusion Protocol,简称REP)转变为官方互联网标准,并将自己的robots.txt解析器作为推广的一部分进行开源。

REP是1994年荷兰软件工程师Martijn Koster提出的一个标准,现在几乎变成了网站用来告诉自动爬虫程序哪些部分不应该被处理的标准。例如,谷歌的Googlebot爬虫器在为网站编制索引时扫描robots.txt文件,以查看特殊说明,了解它应该忽略哪些部分。如果根目录中没有这样的文件,它将假定可以对整个网站进行爬虫(并编制索引)。不过,这些文件并不总是用于提供直接的爬虫指令,因为它们还可以填充某些关键字,以改进搜索引擎优化,以及其他用例。

值得注意的是,并非所有爬虫都遵循robots.txt文件,比如几年前Internet Archive选择为其Wayback Machine归档 工具 提供支持,而其他更恶意的爬虫也选择忽略REP。

正如Internet Engineering Task Force(IETF)所定义的那样,尽管REP通常被称为“标准”,但它实际上从未成为真正的互联网标准。IETF是互联网非营利开放标准组织。而这正是谷歌正在努力改变的。它说,REP是开放的解释,可能并不总是涵盖所有的情况。

这一切都是为了更好地定义现有的“未定义场景”——例如,当先前的扫描已经知道robots.txt文件的内容时,爬虫程序应该如何处理使其无法访问的服务器故障场景?爬虫应该如何对待一个有拼写错误的规则?

谷歌在一篇博客文章中写道:“对于网站所有者来说,这是一个具有挑战性的问题,因为事实上模棱两可的标准使得很难正确地编写规则。我们希望帮助网站所有者和开发人员在互联网上创造惊人的体验,而不是担心如何控制爬虫。”

谷歌表示,它已与REP的原始作者Martijn Koster以及网站管理员和其他搜索引擎合作,向IETF提交一份提案,内容包括“如何在现代网络中使用REP”。

该公司还没有完全公布草案,但对其关注的一些领域给出了一些指示:

任何基于URI的传输协议都可以使用robots.txt。例如,它不再局限于HTTP,也可以用于FTP或CoAP。

开发人员必须至少解析robots.txt的前500千字节。定义最大文件大小可以确保连接不会打开太长时间,从而减轻服务器上不必要的压力。

新的最长缓存时间为24小时或缓存指令值(如果可用),使网站所有者可以随时更新robots.txt,而爬虫程序不会使网站过载robots.txt请求。例如,对于HTTP,可以使用缓存控制头来确定缓存时间。

规范现在规定,当以前可访问的robots.txt文件由于服务器故障而变得不可访问时,已知的不允许页面不会在相当长的一段时间内进行爬虫。

值得注意的是,爬虫可以不同的方式解释robots.txt文件中包含的指令,这会导致网站所有者感到困惑。这就是为什么谷歌还把Googlebot的解析和匹配系统的C++库放在GitHub上供所有人访问。根据Github发布的说明,谷歌希望开发人员打造自己的解析器,从而“更好地反映谷歌的robots.txt解析和匹配”。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Node.js开发实战

Node.js开发实战

[美] Jim R. Wilson / 梅晴光、杜万智、陈琳、纪清华、段鹏飞 / 华中科技大学出版社 / 2018-11-10 / 99.90元

2018年美国亚马逊书店排名第一的Node.js开发教程。 . Node.js是基于Chrome V8引擎的JavaScript运行环境,它采用事件驱动、非阻塞式I/O模型,具有轻量、高效的特点。Node.j s 工作在前端代码与 数据存储层之间,能够提高web应用的工作效率和 响应速度。本书以最新版Node.js 8为基础,从实际案例出发 讲解Node.js的核心工作原理和实用开发技......一起来看看 《Node.js开发实战》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具