在上一章的《1.1.5、搜索引擎工作原理--体系结构》中我们了解了搜索引擎的体系结构,而搜索引擎最开始要做的就是互联网页面的搜集,在本章中,黄聪会和大家一起探讨页面搜集的原理、技巧和系统。

首先,我们要了解一些页面搜集的基础知识:

1、HTTP协议

HTTP协议是一个简单的协议。是一个客户端和服务器端请求和应答的标准。服务器进程响应客户端会返回两个内容:“应答头”、和“应答体”,应答体通常是一个HTML文件,我们称之为“网页”

下图为Firebug监视访问http://hcsem.com/得到的响应头信息:

HTTP协议

2、DNS解析

DNS解析,简单来讲,就是一个将域名转换为IP的工具。

DNS解析

比如搜索引擎需要访问http://hcsem.com/,那么它就必须先询问DNS服务器,DNS服务器就会对这个网页的域名进行解析,然后返回该域名对应的IP给搜索引擎,这样搜索引擎就可以根据该IP链接上http://hcsem.com/并且进行抓取了。

搜索引擎为了加快解析的速度,还会建立DNS缓存,如下图所示:

DNS缓存

增加DNS缓存的原因:1)避免频繁的查询DNS服务器,造成类似于拒绝服务攻击的副作用;2)DNS缓存建立在内存中,查询速度快

3、socket连接

也称为“套接字”,可以理解为,客户端和服务器是通过一根线连接起来的,并且数据的传输都是通过这根线完成的,而这根线就称之为socket连接。

socket连接

搜索引擎就是通过一个个socket和每个网页进行链接然后下载源代码回来分析的,知道这些知识,你才算是明白搜索引擎和网页之间是怎么建立关系的。

小结

上述讲的都是计算机网络中的最基础的知识,但是对于研究搜索引擎原理的朋友来说已经足够了。下一节我们了解一下《2.2、页面搜集原理、技术和系统--搜集过程》