静态网页与动态网页有什么区别?

举报
海拥 发表于 2021/08/17 13:45:53 2021/08/17
【摘要】 如果您不知道该问题的答案,或者正在努力思考,那么本文适合您。如果您是编码初学者,您可能听说过“静态网页”和“动态网页”这两个术语——但您可能不知道它们的含义。在这篇文章中,我将告诉你所有你需要知道的——以及为什么它很重要。

如果您不知道该问题的答案,或者正在努力思考,那么本文适合您。如果您是编码初学者,您可能听说过“静态网页”和“动态网页”这两个术语——但您可能不知道它们的含义。在这篇文章中,我将告诉你所有你需要知道的——以及为什么它很重要。

什么是网页?

首先,我们需要了解什么是网页和网站,以及它们有何不同。为此,让我们考虑一个百科全书。

百科全书(例如维基百科)由许多页面组成。每个页面都有自己的内容:标题、段落、图像、图表、要点、列表,当然还有您要查找的术语的定义。

在百科全书中,经常会在页面上找到引用(或链接)到另一个页面以获取其他信息的单词。

这与网页和网站非常相似。

网页是单个文档,可以包含文本、图像、超文本或任何其他元素。我们使用超文本标记语言(通常称为 HTML)等标记语言创建网页。

超文本是包含超链接的任何 Web 文档。超链接是网页中的任何元素,当您单击它时,链接到另一个网页。

这些相互连接的网页形成了一个有组织的网页网络,我们称之为网站。

互联网上可访问的每个网页都必须有自己的 URL。这是网页的典型 URL:

https://bbs.huaweicloud.com/community/usersnew/id_1628036118897599

现在,我为您做一个简单的测试:

打开您的网络浏览器。导航到地址栏并输入(或选择)您知道的任何随机但有效的 URL。点击进入并等待。网页将呈现在您的浏览器窗口中。拍摄网页当前状态的快照并关闭它。

等待一段时间,然后再次访问该 URL。然后回答以下问题:

  • 如果将页面的当前状态与其先前状态进行比较,其内容是否有任何差异?
  • 例如,页面的 URL 是以文档扩展名/.html结尾还是以端点结尾?/profile例如)
  • 假设您更改了浏览器设置(例如清除 cookie),点击相同的 URL 会返回不同的页面吗?
  • 在浏览器上呈现页面之前,系统会提示您提交表单吗?

您如何回答这些问题(以及我将在下面提出的更多问题)将决定页面是静态页面还是动态页面。

什么是静态页面?

静态页面具有以下特点:

  • 该页面甚至在用户请求之前就已经存在。静态页面必须在用户提出请求时已经物理存在并已被水合(即包含内容)。如果它不存在,则它不是静态的。
  • 每次用户请求时,页面通常都会维护相同的内容。如果点击相同的 URL 返回不同的内容,那么该页面根本就不是静态的。这并不是说不能修改静态页面。但更改静态页面的唯一方法是创建者手动编辑内容(如 HTML 文档)

下面是一个静态页面的例子:

www.example.com/about.html

什么是动态页面?

动态页面具有以下特点:

  • 当用户发出请求时,该页面实际上并不存在于服务器上
  • 当用户发出请求时,脚本或程序会运行并最终生成网页。它通过与数据库交互来检索它打包并作为页面发送的数据来实现这一点。
  • 对于每个请求,创建的每个新页面都可能与上一个不同。

这是因为创建的页面依赖于用户的信息和程序。创建者不必像静态网页那样手动编辑内容。

因此,例如,如果不同的用户请求相同的页面,则返回不同的内容。

或者当用户更改设置时,会返回一个新页面。

或者当时间改变时,返回不同的内容。

下面是一个动态页面的例子:

www.example.com/courses

/course URL 不是文档扩展名,而是一个端点。

向该端点发出请求将触发一个程序,该程序将使用提供的用户数据(例如用户名和密码)和一些外部变量(例如时间和日期)与数据库交互并最终创建并返回新形成的网页.

该页面从未作为服务器上的文件存在,而是由在用户请求时运行的脚本创建的。

总结

网页是包含文本、图像、超文本和其他元素的单个文档。

超文本是包含超链接的 Web 文档。超链接将一个网页与另一个网页链接起来。

相互链接的有组织的网页网络称为网站。

对于被视为静态的网站,每次调用相同的 URL 都会返回相同的网页。

另一方面,如果内容变化很大,那么该网页是动态的。动态页面也以端点结束,而不是文件路径。

以上就是本篇文章的全部内容

就是这样了。希望现在您可以区分静态网页和动态网页。我真的希望你能从这篇文章中得到一些有用的东西。这里汇总了我的全部原创及作品源码:GitHub 如果大家能给我的 Github 存储库上添一些星星就更好了😊。

我已经写了很长一段时间的技术博客,这是我的一篇 Python 3.10 和 Python 3.9 之间的差异教程。我乐于通过文章分享技术与快乐。您可以访问我的博客主页: 华为云-海拥海拥以了解更多信息。希望你们会喜欢!

💌 欢迎大家在评论区提出意见和建议!💌

如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200