这个站点为什么只有 HTML 和 CSS

这个站从第一行开始就没打算用 JavaScript。不是反对它,是这里不需要。

这个站不需要交互

几页文字,没有评论、没有搜索、没有需要客户端记住的状态。加脚本只会多一个会坏的部分:多一个要测的分支、多一个兼容性问题、多一个可能被注入的入口。能删掉的复杂度就删掉。

加载快

一个 CSS 文件,没有外部字体,没有 CDN,没有统计脚本,没有第三方请求。断网的时候把文件直接打开也能读(页面之间用相对路径互链,file:// 下也能点)。第一次打开不需要等任何东西。

CSP 可以收得很紧

页面里没有内联脚本、没有外部资源,响应头就可以收得很死:默认什么都不许,只放行同源的样式和图标,script-src 'none' 也能成立。这不是「更安全」的证明,只是把可攻击的面缩小到几乎没有。

一点实现

代价

没有动态内容,改一次就要重新发布一次。对这么小的站点,这个代价可以接受。