在九十年代初期,浏览网站内容的浏览器相对简单,所以网站必须也相应地简单易用。而当时网站主要是没有字体类型的文本,任何形式的图像都很重要。最早期的网站是静态的,无法提供交互式、动画或个性化等内容。

什么是Web开发?什么是静态站点?

为了追求更复杂的Web内容,开发者需要在浏览器中嵌入一种计算机编程语言,为此开发使浏览器可以显示交互式和动态内容。当时有很多编程语言可以选择,竞争对手并不在少数,但HTML成为了首选的标记语言,而JavaScript成为了事实上的客户端脚本语言。

层叠样式表(Cascading Style Sheets,CSS)的开发是通过将网站内容与网站格式分开,使人们对网站外观的控制更多。诸如布局,颜色和字体之类的内容可以在样式表中指定,并应用于整个网站站点。

HTML,CSS和JavaScript共同构成了今天持续存在的Web体验的基础。

在2000年代初期,内容管理系统(CMS)得到更广泛的使用者欢迎。CMS添加了一个用户界面,使使用者可以更轻松地向其网站添加和修改内容,并且还添加了主题和脚手架,以帮助减轻网站样式的工作。在后端,服务器会根据Web流量的要求来编译并提供内容。今天WordPress和Drupal已经成为流行的CMS首先,而WordPress为整体Web流量提供了很大的动力。

当网站由CMS提供支持时,每次用户访问该网站时,页面都是按需构建的。内容和样式模板存储在数据库中,并在用户请求页面时获取和呈现。内容是根据请求动态生成的。传统web开发中,内容是在后端呈现的,但是诸如React和Vue之类的JavaScript框架的兴起却带动了客户端脚本的发展。

所有这些结合在一起就可以创建动态网站,或者可以在需要页面时即时组装内容和样式模板的网站。

什么是Web开发?什么是静态站点?

目前很多CMS工具向更多的用户开放了Web开发,但是用户更加关注网站性能问题。而且缓存和内容交付网络(CDN)可以缓解某些加载速度问题,但是静态网站的趋势在很大程度上源于对更快网站性能的渴望。

静态网站通常听起来很像:一个网站(如果不是严格意义上的话)主要由静态资源组成,对于大多数基于传统CMS的网站(例如Drupal或WordPress),当用户请求页面时,将进行网页编译。在静态站点中,该工作改为在构建时发生(或在开发人员触发构建并从某种形式的标记(几乎始终是Markdown)预渲染网页并将其存储为静态HTML文档的那一刻开始),而不是依靠数据库来组合内容,而是从静态文件目录中为浏览器提供内容。

这样做的好处是通常会产生加载速度非常快的网站。无需等待动态组装,即可立即提供内容,而不会延迟。但是,这种方法的缺点是,预渲染的标记页面缺乏现代网站中预期的动态响应能力。

正是这种局限性导致静态站点合并了更多动态元素,一种这样的方法就是所谓的JAMstack(JavaScript,API,标记),它正成为构建静态站点的标准堆栈。JavaScript使网站具有动态功能,API使开发人员可以调用第三方服务,例如商业后端或更高级别的动态功能或自定义,标记描述了将内容呈现为静态HTML文件的基础。