静态网页,即纯 HTML 的网页,博客中的每一个页面均为一个 .html 文件。 首先这里存在一个误区,一些人认为静态网页是不能很方便更新的,实际上静态网页是可以很方便更新的,借助静态网页生成器,更新它并不复杂。当它需要更新一篇文章时,需要重新生成主页和这篇文章,还好这一切一般不到一分钟就能完成。 如果博客要使用动态网页呢?这样做当然是可以的,现在有很多成熟的软件,比如 WordPress,运行在 PHP 环境中,需要 MySQL 数据库。每次访问网页时,需要服务器读取数据库的内容(或从缓存中读取),再处理成有一定样式的 HTML 返回给用户。当然动态网页能够实现一切静态网页的功能,当然还能有更多的功能,比如图片上传,定时发布等。 既然动态网页能实现一切静态网页的功能,那么静态网页有什么优势呢?

优势一 节省服务器开销,不怕攻击

不怕 DDOS 攻击

经过大量的 DDOS 攻击测试,我发现静态网页相比动态网页难攻击很多,甚至难一个到几个数量级。每次访问动态网页时,需要解析 PHP,读取数据库或缓存,需要远大于静态网页的计算量。所以 DDOS 攻击基本上效果不明显,甚至速度都不会慢。

难被黑

静态网页根本不需要数据库,它本身只是一个文件,所以根本不存在数据库注入等问题。漏洞什么的更是少之又少。

网页上 CDN 简单

静态网页上 CDN 极其简单,全站缓存即可。每一个页面都可以直接被缓存,网页有更新时清除所有缓存。有了 CDN 之后,那就更不怕 DDOS 了,攻击对方几个甚至 GB 都不算事,人家只不过需要为此付几毛钱流量费而已。

优势二 服务器部署简单

静态网页根本不需要数据库,它只需要一个能上传文件并外链的服务器,比如 Amazon S3 都能放它。大多数服务器都能部署它。

优势三 维护简单

基本上只要会 HTML、CSS 和 JavaScript,就会写静态网页了,再利用一些静态网页生成器直接生成出来所有的页面。

问题一 更新实时性

如果使用了静态网页生成器,那么就一定存在着延迟,延迟大小取决于网页生成的速度。有两种生成方式可供选择,一是在本地生成,二是在服务器生成。

问题二 评论和统计功能

这些功能一般只能在动态网页中实现,因为他们都需要数据库。但是静态网页可以选择第三方的服务,比如评论可以用 Disqus,统计可以用 Google Analytics,或者你可以自己建一个动态服务器专门来做这些事,安装上 Piwik。

总结

拿静态网页做博客是没有任何问题的,而且也是我所推荐的(打脸,现在其实已经转用 WordPress 了)。它方便且简单,也没有什么硬伤。