内容简介:谷歌希望将已有数十年历史的拒绝蜘蛛协议(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解析和匹配”。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Oracle 被指控性别与年龄歧视
- 【安全帮】彭博社指控华为网络设备有后门,但所谓的后门只不过是普通漏洞
- BUF早餐铺 | Stack Overflow遭遇黑客攻击;FBI指控网络犯罪头目试图从全球44000台电脑中窃取1亿美...
- 聆听中国开源最强音 | 国内大厂开源项目齐聚 OSCAR 开源先锋日
- 小米 9 开源内核代码,上市即开源
- 开源 | 陌陌风控系统正式开源
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java语言程序设计(基础篇 原书第10版)
[美]粱勇(Y.Daniel Liang) / 戴开宇 / 机械工业出版社 / 2015-7 / 85.00元
《Java语言程序设计(基础篇 原书第10版)》是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象编程、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每章配有大量复习题和编程练习题,帮助读者掌握编程技术,并应用所学技术解决实际应用开发中遇到的问题。您手中的这本是其中的基础篇,主要介绍了基本程序设计、语法......一起来看看 《Java语言程序设计(基础篇 原书第10版)》 这本书的介绍吧!