【问题标题】:how to identify static assets from an HTML如何从 HTML 中识别静态资产
【发布时间】:2019-01-20 07:23:51
【问题描述】:

我的任务是列出网页中的所有静态资产。我知道静态资产是那些在运行时永远不会改变的文件。

是否有系统的方法可以将这些文件与动态文件区分开来?

如果我必须列出所有静态资产。最好的起点是什么?

【问题讨论】:

  • 静态资产是不会改变的东西。在网络上,这些是诸如 JavaScript 文件、样式表和图像之类的东西。一个好的开始可能是,列出这些文件的扩展名,然后在 HTML 输出中进行字符串搜索。
  • 任务制定不是很清楚。您的意思是“如果在浏览器中查看该页面将导致加载的所有(静态)对象”?你如何获得页面,你能阅读它所引用的资源的内容吗?请注意,如果您获得的只是对服务器的 HTTP 访问,则没有确定给定 URI 是指静态对象还是动态对象的可靠方法。服务器不需要披露它是如何生成文档的。对于任何特定的系统,可能有足够的线索可以可靠地猜测,但不可能存在通用的方法。
  • 当你说“足够的线索可以可靠地猜测”时,这正是我的意思。我需要知道确定 HTML 中所有静态对象的最佳方法是什么,接受在某些情况下这可能不是 100% 准确。

标签: html static-files


【解决方案1】:

从客户端的角度来看,没有系统的方法来确定 html 响应的哪一部分来自静态文件或在运行时由服务器生成。 html 标准没有那么大的区别。

话虽如此,大部分时间您可以猜测响应的哪一部分来自静态文件。当 html 响应 .css、.js、.gif 等文件的链接时,很有可能来自静态文件。

但无法确定哪个 html 元素来自磁盘上的文件,哪个是在运行时构建的。

系统的方法是分析构成 html 响应的代码,并从中确定哪些资源是静态的,哪些是动态的。

编辑 你补充说你不需要100%。如果您不需要,那么也许您可以使用cloudflare's list of file extentions。 cloudflare 默认缓存这些扩展的原因是它们通常是静态的。

【讨论】:

    猜你喜欢
    • 2019-09-21
    • 2021-04-27
    • 2017-05-12
    • 1970-01-01
    • 2019-04-20
    • 2013-02-09
    • 1970-01-01
    • 2017-02-25
    相关资源
    最近更新 更多