关于103 Early Hints
103 Early Hints的概述
| 高效资源预加载HTTP状态码 | ||
|
103 Early Hints 概述 103 Early Hints是一个HTTP状态码,用于在提供最终响应之前通知客户端相关资源(例如CSS和JavaScript)。通过使用此状态码,浏览器可以预加载相关资源,从而显著提高页面加载速度。 |
||
|
服务器会提前提供与请求资源相关的信息。 |
||
| 资源预加载是一种机制,用于提前加载网页需要的重要文件(如字体、图片、脚本)。这确保了在需要时资源已准备好,从而加快页面加载速度。例如,可以指示浏览器“提前下载此字体”,以实现更流畅的显示。 |
何时会返回103 Early Hints
- 当服务器生成最终响应需要时间时
- 当浏览器需要预加载相关资源(例如CSS、JavaScript、图片)时
- 为了利用资源预加载提高网站性能时
103 Early Hints的示例
提前通知相关资源
GET /index.html HTTP/1.1 Host: example.com
响应示例:
HTTP/1.1 103 Early Hints
Link: </style.css>; rel=preload; as=style
Link: </script.js>; rel=preload; as=script
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<html>
<head>
<link rel="stylesheet" href="/style.css">
</head>
<body>
<script src="/script.js"></script>
</body>
</html>
说明:服务器返回103 Early Hints,使客户端能够预加载CSS和JavaScript等相关资源。随后返回常规的200 OK响应提供HTML内容。
提高页面加载速度
GET /homepage HTTP/1.1 Host: example.com
响应示例:
HTTP/1.1 103 Early Hints Link: </main.css>; rel=preload; as=style Link: </analytics.js>; rel=preload; as=script HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 [HTML内容]
说明:通过使用103 Early Hints,浏览器可以提前下载所需资源,从而提高页面加载速度。
注意事项
返回103 Early Hints时的注意事项:
- 确保最终响应的准确性
103 Early Hints是一个辅助状态码,最终响应(例如200 OK)必须正确提供。 - 检查客户端支持情况
并非所有浏览器或客户端都支持103 Early Hints,因此需要注意兼容性。
与相关HTTP状态码的比较
对103 Early Hints相关的状态码进行解释:
- 200 OK: 在请求成功且提供完整响应时使用。
- 102 Processing: 表示长时间的处理正在进行,与103的用途不同。
理解这些差异有助于正确使用103状态码。