页面静态化优缺点_静态网站生成器的优缺点

页面静态化优缺点

很久以前,人们在遥远的互联网上手工建造自己的网站,将每个HTML标签都放在工匠的精心照顾下。 他们花了一整天的时间思考诸如“我应该使用<b>还是完全使用<flash>标签的方式?”之类的问题。

席卷服务器场的第一波自动化浪潮将这些标签打乱的人员排到了一边,并用模板代替了它们,这些模板会在当天的设计中自动包装文字和图像。 突然,旧网页被称为“静态”,这是一个追溯记录,显示了它们与新的,适应性强且风格新颖的“动态”网站相比如何过时。

[编程艺术发展Swift。 InfoWorld可以帮助您导航正在运行的东西和正在运行的东西 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

哦,时代如何改变。 就像领结变得流行和过时一样,突然之间“静态”正在流行,髋关节编码者在讨论它时却丝毫没有嘲笑的自尊心。 “静态”快速且快速。 “动态”正在思考,摸索和缓慢。

也许有人有时间在等待和等待构建过程完成时转译一个巨大的仓库,其中堆满了React,Vue和Angular的邪恶混合物? 也许有人无法使数据库足够扩展以处理来自多层动态层的无休止查询,而多层动态层不断将相同数据注入相同页面上的相同块中? 也许有人想知道为什么我们要解决所有这些麻烦,以便网页在角落里会出现一些个人问候,说“鲍勃的帐户”?

解决所有这些问题的最新方法是使用静态网站生成器 ,该工具与动态网站一样复杂,并以相同方式将所有内容倒入模板中。 但这会将结果保存在带.html后缀的文件中,从而将数据转换为静态网页,可以将其托管在您的祖父母用来度蜜月GIF的同一类静态Web服务器上。 您不需要与世界连接的多层此服务或微服务。 您只需复制一些文件,然后让基本的Web服务器完成工作即可。

那里已经有很多静态站点生成器。 Jekyll是为Ruby应用程序构建的。 NextGatsby将导出React。 许多动态平台(例如Drupal)都具有模块 ,这些模块将构造整个站点或重要子集的静态副本。 太多了,以至于有些开发人员建立了不错的策划列表。 (请参见此处此处 。)

就像所有改变世界的想法一样,这种策略既是天才的合法闪光,也是温和的甲基纤维素的混合体,具体取决于您如何看待它。 这是为什么静态站点生成器能与四个有趣的交错打扰的理由很好地交织在一起的四个原因。

优点:静态网站速度很快

一口气再说一遍:快! 整个网页都放在可以使用的SSD中。 Web服务器仅需要将其复制到网卡顶部的TCP / IP代码。 无需从数据库中获取一些花絮或等待某些库来呈现模板。 即使在网络初期,网络服务器也是如此之快,以至于T1线路只能配备低端Intel 486 CPU和少量RAM。 数十亿编码人员的共同努力加上另一层间接寻址已使仅一个内存成为可能,但是静态站点生成器是Web服务器快速发展时期的魔力票。 甚至不必费心用“极端”或“超赞”这样的形容词来修改它。 只需使用一个音节:快速。

缺点:静态网站被剥离

如果您想要快速,为什么不从网页上剥离所有内容呢? 如果您省去了所有雷达GIF和动画风暴,而只用一个数字(温度)替换了所有的花花公子,那么您可以使天气网站变得非常快。 您甚至可以将其打包为一个带符号的字节,其值在-127到128之间,至少直到全局变暖变得非常严重为止。

静态网站速度更快,但是其中的大部分速度来自剥离个性化功能和其他功能。 人们访问网站以获取针对其需求定制的功能和信息。 他们想要的不仅仅是一刀切的所有装配线的简化标准票价。

优点:静态网站很灵活

静态网站生成器可以在您希望更新页面时运行。 在紧急情况下,这可能会立即生效,但也可能是一整夜或每当服务器时间最便宜时。 您甚至可以使用Google提供的那些可打折,可抢占的云实例之一,因为如果作业暂停几次,则没有关系。 您甚至可能让您的个人笔记本电脑在夜间运行,而根本不花时间在云服务器上。

Internet基础结构的许多部分都经过优化,可以立即执行某些操作。 站点工程师着迷于响应消息所花费的毫秒数。 他们担心如何将响应计算分散到许多并行运行的计算机上,这一切让人有些忘恩负义,没有一个好孩子会看到模因并输入“ LOL”。

离线进行处理非常简单。 如果数据库调用需要几秒钟,那没什么大不了的。 如果有人想使用提供更好答案的更好算法,则可以对此进行编码,而不用费力地尝试使许多尝试并行工作的服务器之间的数据保持一致。 别烦了 您有足够的时间(当然是在合理的情况下)。

这是静态站点生成器的讽刺意味。 即使各个网页在概念上都是一成不变的,您也可以花几个小时来做​​得更好。 静态网络生活适用于那些希望以正确方式构建自己的网页,而不是匆匆忙忙地将其丢掉的哲学家,思想家和纯粹主义者。

缺点:静态网站可能会过时

网站被放弃的第一个迹象是底部的版权声明。 如果说去年或更糟,即两三年前,那么您开始对公司的想法就会减少。 这是一个极端的例子,但是对于静态网站来说,过时的位总是有风险的。 他们不提供最新鲜的食物。

当然,精明的网站管理员可以通过在1月1日更新网站并可能每隔几个月推出一些新CSS来应对这一问题。 他们可以以设计师可以调整颜色的最快速度,以新的,更新的外观重新生成所有内容。

而且,是的,静态站点防御者当然是对的,许多页面从未更改。 如果一家公司具有充满活力的使命宣言,并且对这种时尚或趋势做出快速变化的承诺,那看起来就不会太坚定。 如果传递的事实没有改变,为什么我们需要动态的Web代码来重述应该刻画的内容?

尽管如此,仍然很难摆脱静态网站正在提供陈旧和过时的感觉。 它们就像是熟食店角落转角处的蒸汽桌,或者像是在离机场最远的机翼最后一扇门的报摊上的收缩包装三明治。

优点:静态网站可以节俭

静态站点生成器产生大量具有很多重复的页面这一事实是无法回避的。 网站模板的每一部分都在无数静态页面中的每一个中重复。 喜欢计算字节数并担心效率提高的优秀程序员开始心heart。

但为什么? 磁盘空间很便宜。 在撰写本文时,我想知道是否要购买售价为44美元的两TB固态硬盘。 在我撰写本文时, Wikipedia中只有4700万页。 您可以用数百个静态版本的Wikipedia页面填充该2 TB的驱动器,但仍然有很多猫视频的空间。

这些预先计算的静态页面已准备就绪。 便宜的磁盘空间是一种礼物。 用它。

缺点:静态网站可能很浪费

很难确定几个胖驱动器的预先计算出的效率,这些胖驱动器填充了随时可以根据网络上的任何请求跳转的数据。 显然,对于小型网站来说,这可能是一个不错的解决方案。

对于拥有大量数据的大型网站而言,很难证明其合理性。 如果任何人都不需要预先计算的网页,那么浪费在构建网页上的时间就被浪费了。 您启动了整个静态站点生成器以节省时间,但最终却浪费了它。

许多大型的,数据驱动的网站可能充斥着最多每十年访问一次的页面。 每年有多少维基百科页面被访问? 每次设计人员调整外观或更新底部的版权声明时,为所有这些很少使用的页面重新运行静态站点生成器可能会非常浪费。 为什么当有人真正想要读取模板时,为什么不只是拥有一个当前模板并用数据动态填充呢?

优点:静态网站可以使用AJAX

仅仅因为网页本身像直布罗陀的岩石一样不变,并不意味着它的上下是完全静止的。 在呈现页面很长时间之后,一些AJAX调用可以在后台下载额外的数据位。 这些电话可以添加最新的股票价格,天气预报或有关用户帐户的一些个性化详细信息。 仅仅少量的数据就可以增加很多寿命。 如果您将某些数据本地存储在Cookie或本地存储中,则甚至不需要访问网络。 快速呼叫可以检索用户的姓名,生日或基本帐户详细信息,并使页面具有个性化的感觉。

缺点:静态网站缺乏情报

许多动态站点已经非常静态。 如果您浏览基于诸如Drupal之类的框架的网站,就会发现精心设计的智能缓存机制,该机制可在生成页面时存储当前副本。 如果其他人在几秒钟后请求该页面,则他们会从缓存中获取静态版本,而不是动态生成的新版本。

缓存算法可以非常聪明地仅缓存页面上不变的块。 缓存的版本还可以借鉴静态站点手册中的技巧,并使用AJAX和其他JavaScript技巧来更新最新页面。

静态网站和现代网络

多年来,Web服务界已经慢慢创建了内容交付网络(CDN),它们是分布在世界各地的静态内容的本地化缓存。 如果您访问大型动态站点,则许多不变的位(例如徽标GIF)已经缓存在主要集线器附近的许多本地计算机中。 静态内容不会阻塞互联网的骨干网甚至许多较小的卷须。 它来自可能距您的浏览器不到一英里的缓存机。

静态站点生成器可以轻松利用这些CDN,因为CDN旨在与不变的文件一起使用。 生成静态文件后,CDN将完成其余工作并非常快速地交付它们。 静态站点生成器是完美的补充。

解决方案是预先计算尽可能多的页面,以便这些CDN可以尽可能轻松地传递不变的数据。 然后将动态信息与不会阻塞页面渲染的小型轻量级AJAX调用混合在一起。 它是灵活的组合,并适应了现代Web基础结构。

翻译自: https://www.infoworld.com/article/3399556/static-site-generator-pros-and-cons.html

页面静态化优缺点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MASTIFF的静态分析框架结构: MASTIFF的静态分析框架由以下组件组成: 1. 抽象语法树:解析源代码并构建抽象语法树,用于表示代码结构。 2. 漏洞检测模块:使用静态分析技术检测代码中的安全漏洞。 3. 模块识别器:识别代码中使用的库和框架。 4. 代码度量:评估代码质量,包括复杂度、可读性和可维护性等方面。 5. 可视界面:提供用户友好的界面,以便于分析结果的查看和操作。 优缺点: 优点: 1. 静态分析可以在不执行代码的情况下找到潜在的漏洞,避免了在运行时出现安全问题。 2. 静态分析可以在早期的开发阶段就发现并修复漏洞,减少修复成本。 3. 静态分析可以对大规模代码进行分析,发现更多的漏洞。 4. MASTIFF的静态分析框架具有模块结构,可以根据需要进行定制配置。 缺点: 1. 静态分析仅能识别已知的漏洞类型,无法发现未知漏洞。 2. 静态分析无法考虑代码的上下文信息,可能会产生误报或漏报。 3. 静态分析需要大量的计算资源和时间,可能会影响开发进度。 运行流程: 1. 通过解析源代码构建抽象语法树。 2. 使用静态分析技术检测代码中的安全漏洞,并生成漏洞报告。 3. 识别代码中使用的库和框架。 4. 评估代码质量,包括复杂度、可读性和可维护性等方面。 5. 将分析结果通过可视界面展示给用户。 历史背景: MASTIFF是一款开源的安全工具,由英国的NCC Group开发。它最初是作为一个纯文本文件分析工具,用于在大规模的代码库中查找漏洞。随着时间的推移,MASTIFF不断发展壮大,增加了许多新功能和模块,成为了一个综合性的静态分析框架。MASTIFF的目标是提供一个可定制的框架,使用户可以根据自己的需要进行静态分析。MASTIFF已经成为了业界公认的一款优秀的静态分析工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值