虽然没有可以保证 Web 具备强大性能的详细方案,但网站所有者可以使用以下比较好的做法来帮助提高网站速度和可靠性:
优化图像
由于图像文件的大小往往大于 HTML 和 CSS 文件,因此,网站加载图像所需的时间往往比较长。幸运的是,可以通过图像优化来缩短图像加载时间,通常包括:降低图像分辨率和尺寸,以及压缩图像文件本身。
限制 HTTP 请求的数量
大多数网页都要求浏览器发出多个 HTTP 请求,才能获取页面上的各种资产(包括图像、脚本和 CSS 文件)。事实上,许多网页都需要几十个这样的请求。每个请求都要往返于托管资源的服务器,这会增加网页的整体加载时间。
由于存在这些潜在问题,因此,应该尽量减少每个页面需要加载的资产总数。此外,速度测试有助于确定哪些 HTTP 请求花费的时间比较多。
使用浏览器 HTTP 缓存
浏览器缓存是一个临时存储位置,浏览器将静态文件的副本保存在其中,以便能够更快速地加载最近访问过的网页。开发人员可以指示浏览器缓存不经常更改的网页元素。浏览器缓存的说明位于托管服务器的 HTTP 响应的标头中。这显著减少了服务器需要传输到浏览器的数据量,从而缩短了用户访问某些常用页面所需的加载时间。
删除不必要的 JavaScript 渲染阻塞
网页可能会加载了不必要的代码,然后才加载更重要的页面内容,如此一来增加整体加载时间。这种情况在大型网站上尤为常见,因为许多网页所有者都是单独地添加代码和内容。网页所有者可以使用 Web 性能工具,来识别性能不佳网页上那些不必要的代码。
限制使用外部脚本
对于需要从其他位置加载的任何脚本化网页元素,例如外部评论系统、CTA 按钮、CMS 插件或潜在客户生成的弹出窗口,每次加载页面时都需要重新加载这些元素。
根据脚本大小,这些脚本可能会降低网页的加载速度,或导致网页无法一次性加载完毕,这被称为“内容跳转”或“布局偏移”,尤其会让移动用户感到沮丧,因为他/她们往往需要滚动页面才能看到完整的网页内容。
限制使用重定向
重定向是指将访问者从一个网页转到另一个网页。重定向会增加几分之一秒的页面加载时间,有时甚至需要几秒钟。重定向有时是不可避免的,但可能会被过度使用;而且在拥有多个网页所有者的大型网站上,重定向可能会逐步增加页面加载时间。网站所有者应该制定明确的重定向使用指南,以及定期扫描重要的网页,检查是否存在不必要的重定向。
极简化 CSS 和 JavaScript 文件
代码更小化是指删除计算机理解和执行代码时不需要的所有内容,包括代码注释、空格和不必要的分号。这可以略微缩小 CSS 和 JavaScript 文件的体积,从而让浏览器可以更快速地加载这些内容,减少占用的带宽。尽管代码更小化通常只能带来微不足道的性能提升,但它仍然是一种重要的比较好的做法。
使用有效的第三方服务,实现重要的网站功能
托管:如果源服务器响应请求的速度很慢,即使是设计比较好的网站,其网页加载速度也会很慢。网站所有者应该选择平均响应时间低于 200 毫秒,且拥有良好的可靠性记录的服务器。
DNS:DNS 是一个域名转化系统(将example.com 转化为 IP 地址),这是页面加载过程的重要组成部分。网站所有者应该选用能够快速且可靠地提供解析结果的 DNS 服务,而不是依赖于 Web 主机的 DNS。
缓存:网站内容距离请求者的位置越近,他们接收到相应内容的速度就越快。网站所有者应该使用内容交付网络 (CDN) 在全球多个地点缓存 Web 内容,如此一来,用户的请求就不必跨越数百或数千英里(以及许多自治网络)的长途传输才能到达网站的源服务器。
网络安全:DDoS 攻击、恶意机器人以及其他网络攻击,可能会降低网站性能。这个话题的涉及面过于宽泛,无法在此一一详述,但网站所有者应该选择一家 Web 应用程序安全提供商,既可以过滤恶意流量,同时不降低合法流量的速度。