什么是静态网页,什么是动态网页
想知道什么是伪静态,那么我们必须知道什么是静态和动态的,之前没有接触网站的时候,认为静态的就是没有flash多的页面,动态的就是有flash的页面,发现这真是一个片面的理解,现在才知道这并不是区别静态和动态的原理,而是通过代码来区别的
静态网站是指全部由HTML代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动就变画、FLASH动画、滚动字幕等。
动态页面是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。可以通过网站后台管理系统对网站的内容进行更新管理。发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是企业站的一些功能。
纯静态网页:
纯静态的网页一般以.html或者htm结尾,地址对应的是一个文件,这个文件实实在在的存在于网站服务器的某个目录中。
纯静态网页优势:
1.当访问者访问网页的时,不读取数据库,直接访问网站空间对应的文件。(直接读取文件)
2.纯静态的网页对搜索引擎友好,是容易被搜索引擎所收录的。(易收录)
3.由于访问网页的时,不需要服务器做过多的处理,对服务器的压力小,更容易应对高访问量。(节省服务器压力)
4.一些面对数据库的攻击比如SQL注入攻击,在面对静态网页的时候常常难以从地址入手。(安全性高)
纯静态网页劣势:
1.由于静态网页需要生成文件,所以当网站内容更新频率高,更新数据量大的时候,对服务器磁盘的写入也会很频繁;(服务器的负担)
2.在不采用其他技术的时候,如果更改了模板,所有相关的html网页都要重新生成,量大(模板修改、对应变化)
动态网页:
访问网页的时候,需要服务器读取数据库,数据库做出相应的处理,把数据返回给服务器,再由服务器发送给浏览器,这样的一个过程,需要消耗一定的服务器资源,在访问量大的时候,会加重服务器的负担。在过去搜索引擎技术不发达的时候,动态的网页一般都不太好收录,随着搜索引擎技术的提高,现在的动态页已经难不倒蜘蛛了,但是和纯静态的网页比起来,还是不如静态的网页容易被收录。
动态页优势:
1.动态页由于不用生成html文件,所以可以节省服务器空间,这样我们可以把更多的资金放在数据库上,节省出来的服务器空间用来放更多的图片附件等文件;(节省服务器空间)
动态页劣势:
1.不如静态的网页容易被收录(收录难)
2.一些面对数据库的攻击比如SQL注入攻击,在面对动态网页的时候常常容易从地址入手(安全性低)
伪静态网页:
伪静态实质上还是动态的,在数据的处理过程上和动态的一样。
伪静态页优势:
1.在网址的形式上看,伪静态的地址和静态的可以一摸一样,普通的访问者不容易分出是真静态还是伪静态,同时蜘蛛一般也会把这种形式的网页当做是静态的来处理。(易收录)
2.
伪静态页劣势:
1.伪静态相对动态来说,更加消耗服务器资源,因为网页地址需要按事先设定好的伪静态规则来进行正则匹配,这一个过程是消耗资源的。(消耗服务器资源)
这种形式,比动态的网址多了一个匹配筛选的过程。网页地址需要按事先设定好的伪静态规则来进行正则匹配,这一个过程是消耗资源的。这种形式,比动态的网址多了一个匹配筛选的过程。
总结:
对搜索引擎的友好度:纯静态好于伪静态好于动态;
对服务器CPU资源的消耗:纯静态小于动态小于伪静态;
对服务器空间的占用:纯静态大于伪静态,伪静态和动态相同。
具体选择那种形式,可以根据自己的实际情况。
robots.txt文件详细解说
1. 什么是robots.txt文件?
搜索引擎使用spider程序自动访问互联网上的网页并获取网页信息。spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做 robots.txt的纯文本文件,这个文件用于指定spider在您网站上的抓取范围。您可以在您的网站中创建一个robots.txt,在文件中声明 该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。
请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
2. robots.txt文件放在哪里?
robots.txt文件应该放置在网站根目录下。举例来说,当spider访问一个网站(比如 http://www.abc.com)时,首先会检查该网站中是否存在http://www.abc.com/robots.txt这个文件,如果 Spider找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围。
网站 URL | 相应的 robots.txt的 URL |
http://www.esobao.cn/ | http://www.esobao.cn/robots.txt |
http://www.esobao.cn:80/ | http://www.esobao.cn:80/robots.txt |
http://www.esobao.cn:1234/ | http://www.esobao.cn:1234/robots.txt |
http://esobao.cn/ | http://esobao.cn/robots.txt |
3. 我在robots.txt中设置了禁止百度收录我网站的内容,为何还出现在百度搜索结果中?
如果其他网站链接了您robots.txt文件中设置的禁止收录的网页,那么这些网页仍然可能会出现在百度的搜索结果中,但您的网页上的内容不会被抓取、建入索引和显示,百度搜索结果中展示的仅是其他网站对您相关网页的描述。
4. 禁止搜索引擎跟踪网页的链接,而只对网页建索引
如果您不想搜索引擎追踪此网页上的链接,且不传递链接的权重,请将此元标记置入网页的<HEAD> 部分:
<meta name="robots" content="nofollow">
如果您不想百度追踪某一条特定链接,百度还支持更的控制,请将此标记直接写在某条链接上:
<a href="signin.php" rel="nofollow">signin</a>
要允许其他搜索引擎跟踪,但仅防止百度跟踪您网页的链接,请将此元标记置入网页的<HEAD> 部分:
<meta name="Baiduspider" content="nofollow">
5. 禁止搜索引擎在搜索结果中显示网页快照,而只对网页建索引
要防止所有搜索引擎显示您网站的快照,请将此元标记置入网页的<HEAD>部分:
<meta name="robots" content="noarchive">
要允许其他搜索引擎显示快照,但仅防止百度显示,请使用以下标记:
<meta name="Baiduspider" content="noarchive">
注:此标记只是禁止百度显示该网页的快照,百度会继续为网页建索引,并在搜索结果中显示网页摘要。
6. 我想禁止百度图片搜索收录某些图片,该如何设置?
禁止Baiduspider抓取网站上所有图片、禁止或允许Baiduspider抓取网站上的某种特定格式的图片文件可以通过设置robots实现,请参考“robots.txt文件用法举例”中的例10、11、12。
7. robots.txt文件的格式
"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
"<field>:<optional space><value><optionalspace>"
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受 到"robots.txt"的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效, 在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。如果在"robots.txt"文件中,加入"User- agent:SomeBot"和若干Disallow、Allow行,那么名为"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:
该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被 robot访问。例如"Disallow:/help"禁止robot访问/help.html、/helpabc.html、/help /index.html,而"Disallow:/help/"则允许robot访问/help.html、/helpabc.html,不能访问 /help/index.html。"Disallow:"说明允许robot访问该网站的所有url,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"不存在或者为空文件,则对于所有的搜索引擎robot,该网站都是开放的。
Allow:
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头 的URL 是允许robot访问的。例如"Allow:/hibaidu"允许robot访问/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
使用"*"and"$":
Baiduspider支持使用通配符"*"和"$"来模糊匹配url。
"$" 匹配行结束符。
"*" 匹配0或多个任意字符。
注:我们会严格遵守robots的相关协议,请注意区分您不想被抓取或收录的目录的大小写,我们会对robots中所写的文件和您不想被抓取和收录的目录做匹配,否则robots协议无法生效。
8. URL匹配举例
Allow或Disallow的值 | URL | 匹配结果 |
/tmp | /tmp | yes |
/tmp | /tmp.html | yes |
/tmp | /tmp/a.html | yes |
/tmp | /tmphoho | no |
/Hello* | /Hello.html | yes |
/He*lo | /Hello,lolo | yes |
/Heap*lo | /Hello,lolo | no |
html$ | /tmpa.html | yes |
/a.html$ | /a.html | yes |
htm$ | /a.html | no |
9. robots.txt文件用法举例
例1. 禁止所有搜索引擎访问网站的任何部分 | User-agent: * |
例2. 允许所有的robot访问 | User-agent: * |
例3. 仅禁止Baiduspider访问您的网站 | User-agent: Baiduspider |
例4. 仅允许Baiduspider访问您的网站 | User-agent: Baiduspider |