静态页面和动态页面的区别

静态网页、动态网页都是网页,都是在浏览器上用 HTML 展示出来的页面。HTML 是网页的基础结构,网页如何排版、每个元素在什么位置,都是由它来描述的。

我们每天看到的网页,无论是新闻网站,还是在线编辑、下载网站等,大部分都是动态网页,其中掺杂了少数的静态网页(例如,展示一个公司的电话号码、logo 及地址的网页一般是静态网页)。

静态网页和动态网页的核心区别是后台是否有数据库的支撑,也可以简单地描述为网页上展示的内容是否要变化,是因人而异地显示不同的内容(例如 QQ 空间),还是根据时间线呈现内容的变化(例如新闻客户端),或是一直保持不变(例如一些国企或政府网站)。

静态网页无须经过后台程序的处理。例如,我们将一个 .txt 文件的扩展名改为 html,放到服务器中,如果有请求来到服务器,服务器会直接将此文件吐回浏览器来显示。

动态网页要经过后台程序的处理,我们常见的 ASP、JSPPHP 都是后台处理程序。以 PHP 为例,当网页被请求时,首先到 PHP 容器中进行解释,这时解释器知道了当前页面的需求(需要在网页中展示一行文字和一张图片),然后 PHP 程序连接数据库,获取这两个数据,将其插入网页的 HTML 中,再吐回浏览器来显示。

可能大家会问,以 html、shtml 结尾的 URL 一定对应于静态网页,以 asp、jsp、php 结尾并包含“?”的 URL —定对应于动态网页,对吗?

咱们打开一篇腾讯网站的新闻,观察它的 URL(https://new.qq.com/cmsn/NEW20190/NEW2019042300832202.html)。

这个网页的 URL 就是以 html 结尾的,但它内部包括视频、正文、广告等多种元素,而且都是网页的主框架加载完之后,靠 AJAX 拉取数据的,所以上面问题的答案是:不对。这种格式主要是为了对搜索引擎更友好而进行的动态网页伪静态化。

总的来说静态网页和动态网页有以下特点:
  • 静态网页和动态网页都是网页。
  • 静态网页不需要后台程序干预处理,直接由服务器返回。实现为静态网页后,一般不需要维护,因为数据不需要更新。
  • 动态网页一般需要由程序来处理(ASP、JSP、PHP、Python、Ruby 等),并由数据库提供数据支撑。
  • 不要以 URL 的形式来判断一个网页是静态的还是动态的,而应该看页面的属性(产品经理最好具备一些调试技巧和经验)。
  • 动态网页更灵活。

相关文章

问题背景 最近小伙伴提了一个希望提高后台下拉列表可操作性的...
// n位随机数生成 function randomNum(n) { let sString = &...
HTML是HyperText Markup Language的简称,中文名称:超文本标...
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现...
JavaScript 是脚本语言,是一种解释性脚本语言(代码不进行预...
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网...