如何检查网站是否有自定义 404 页面或默认页面?

How to check a site if it is having a custom 404 page or a default one?

我正在使用 NodeJS 创建一个 SEO 审核工具。我想检查 URL 是否设置了自定义 404 页面。我该如何检查?

我已经分析了自定义 404 页面和默认页面的响应,两者 return 相同 content-type 和响应 headers。 return HTML 都只有内容,所以我如何确定它是否是自定义 404 页面。

如果这对您来说非常重要(也许您正在销售自定义 404 页面),您需要检查请求所提供的 HTML return。

许多流行的服务器,例如 tomcat、iis 和 apache return 您应该能够识别的标准 404 页面。与 django 或 rails 等框架相同。您可以构建一些逻辑,将 404 结果与已知默认 404 页面数量的 "fingerprints" 进行比较。

例如,tomcat 的某些版本在其错误页面上的标题如下所示:

<title>Apache Tomcat/7.0.50 - Error report</title>

如果您看到类似的内容,您可以非常确定您正在处理默认的 tomcat 错误页面。

有一些机器学习技术可能可以为您执行此操作,而无需编译 404 页面指纹库(类似于区分垃圾邮件和合法邮件的过滤器)。