文档

ECOS Web Audit 是一款用于网站技术评估的分析工具。它将可衡量的指标组合成一个综合指数,涵盖效率、可持续性 (Clean)、开放性与安全性 (Safe)。

技术实现基于模块化架构,利用云服务进行托管、数据存储和后端功能。

由于其模块化结构,Audit 引擎和 API 可以独立于 Web 应用使用,例如用于构建自定义 REST API 或连接到不同的前端。

  • 效率 (Efficiency): 评估数据传输量和 HTTP 请求数量。结果与全球平均水平进行 Benchmarking,以提供 Performance 背景。 (PageSpeed Insights, HTTP Archive)

  • 可持续性 (Clean): 评估网站的生态足迹。基于数据量和托管数据中心的能源结构计算碳足迹。通过 IP 查询识别服务器位置。 (CO2.js, The Green Web Foundation, AbuseIPDB)

  • 开放性 (Open): 评估无障碍性和搜索引擎优化 (SEO)。旨在确保残障人士的技术无障碍性以及内容的可发现性。 (PageSpeed Insights)

  • 安全性 (Safe): 结合基础设施声誉和已实现的安全性功能。通过黑名单检查声誉;利用独有逻辑分析 SSL 证书和内容安全策略 (CSP)。 (AbuseIPDB, Google Web Risk API, HTTP Observatory Scoring Methodology)

这四个领域并非孤立的指标,它们相互促进。Efficient 的代码通过减少数据量 (Clean) 直接降低能耗。精简的代码还能缩短加载时间,从而提升无障碍性和可见性 (Open)。

强健的安全标准 (Safe) 可以提高基础设施可靠性,而干净的技术底层则有助于长期可维护性。某个领域的改进往往会对整个系统产生积极影响。

ECOS Score 构成ECOS Score 展示100Scores25%ECOS Score 展示100效率25%ECOS Score 展示100Clean25%ECOS Score 展示100Open25%ECOS Score 展示100Safe40% (10%)ECOS Score 展示100Performance30% (7.5%)ECOS Score 展示100Best Practices30% (7.5%)ECOS Score 展示100网络50% (12.5%)ECOS Score 展示100无障碍50% (12.5%)ECOS Score 展示100SEO50% (12.5%)ECOS Score 展示100信任50% (12.5%)ECOS Score 展示100安全50% (3.75%)ECOS Score 展示100请求50% (3.75%)ECOS Score 展示100数据量50% (6.25%)ECOS Score 展示100Webrisk50% (6.25%)ECOS Score 展示100IP 检查
指标权重子指标
Scores100%
指标权重子指标
效率25%
指标权重数据来源
Performance40% (10%)
Best Practices30% (7.5%)
网络30% (7.5%)
指标权重数据来源
请求50% (3.75%)
  • 相对得分:HTTP 请求数量(压缩后)与所有网站数据对比
  • PageSpeed API (Google) - HTTP 请求数量 lighthouseResult.audits.network-requests.details.items[].transferSize
  • httparchive.org - 按 HTTP 请求数量划分的网站相对频率数据(2024)
  • Web Audits/GitHub - create_subscore_requests
数据量50% (3.75%)
  • 相对得分:已传输数据大小(压缩后)与所有网站数据对比
  • PageSpeed API (Google) - 按类型划分的已传输数据 lighthouseResult.audits.network-requests.details.items[].resourceSize
  • httparchive.org - 按已传输数据划分的网站相对频率(2024)
  • Web Audits/GitHub - create_subscore_weight
Clean25%
Open25%
指标权重数据来源
无障碍50% (12.5%)
SEO50% (12.5%)
Safe25%
指标权重子指标
信任50% (12.5%)
指标权重数据来源
Webrisk50% (6.25%)
  • Web Risk API (Google) - 检查 URL 是否因恶意软件、社会工程或强制下载被列入黑名单
IP 检查50% (6.25%)
  • AbuseIPDB - 检查 IP 地址是否因恶意软件或有害行为被列入黑名单
安全50% (12.5%)

该项目使用基于 Serverless 的 Tech Stack:

  • 框架与运行时: ReactReact Router 作为 Node.js 运行时上的全栈框架。 (React, React Router)

  • 前端与可视化: Radix UI 用于无障碍组件,d3/visx 用于复杂的数据可视化,以及 Tailwind CSS 用于样式设计。 (Radix UI, visx, Tailwind CSS)

  • 基础设施管理: SST (Ion) 作为 IaC 框架,用于定义和部署云资源。 (SST)

  • AWS 云服务:

    • 数据存储: DynamoDB 作为高可用 NoSQL 数据库。 (AWS DynamoDB)

    • 计算: Lambda Functions 用于服务器端渲染 (SSR),并作为执行 Audit 的可扩展计算资源。 (AWS Lambda)

    • Web 部署: S3 用于静态资产, Route53 用于 DNS 管理,以及 CloudFront 作为 CDN。 (AWS CloudFront)

目前,REST API 仅支持针对 ECOS 数据库的 GET 请求。这些请求返回 Audit 结果和每日更新的描述性统计数据。目前无法通过 API 请求执行或更新 Audit。