我一直以为建好一个网站后网站的程序就负责网页效果的展示,网络浏览器只是把展示的效果通过网络接收过来,再展示出来而已,就像展示图片或放电视一样。其实,真实的情况是:网络浏览器是把网页程序和数据接收过来,也就是接受html格式的文件过来,在本地展示而已。所以说,每个网站的程序,特别是静态网页的程序是完全透明的,你实现某种效果的代码都无处可藏。用了快20年的开源软件,原来最开源的就在我们身边!呵呵。下图是本网站的首页: 下面的就是IE浏览器自带的调试工具展示的网站代码,和我在网站后台看到的网页代码一样,只是一些具体内容是从后台数据库取出来的而已。下图是一个具体帖子的代码: 上面是网页效果,下面是浏览器接到的html代码,那些帖子的内容是存在网站数据库里的,在接到浏览器请求后才转化为html格式发给浏览器的。
知道这些后,我才明白为啥网页搜索能够成为可能。以前我觉得好神奇啊,yahoo等搜索引擎可以去浏览网页,还能从画面中找到文本内容,区分各级标题和内容,再找到里面的关键字,这不就是人工智能嘛。现在看来根本没那么复杂,就是通过释放海量的网络爬虫程序把各个网站里关键网页的html代码抓取下来,把标题和正文的具体内容以网址和具体的网页结构目录等作为联合主键存到数据库中,等接到用户的搜索关键词后,再去数据库中搜索,最后把比较匹配的网址发给搜索用户就是了。当然,怎么找到最合适的网页还是有很高技术要求的,比如什么权重啊,打分啊。而搜索引擎的日常工作就是不断地抓取新网站和增量抓取老网站而已。
善意提醒一下:不要在网站程序里放隐私或敏感信息,毫无保密可言。那个靠中止第一波勒索病毒传播一战成名的英国程序员也应该是靠F12或curl阅读勒索网页及其链接网页的源代码发现那个开关域名的。没想到编程水平那么高的黑客也会在这种小地方大意失手,真的很搞笑。