head请求
HEAD 请求方法是 HTTP 协议中的一种请求方法,它的作用与 GET 方法类似,但它只返回响应头(Headers),不会返回响应体(Body)。
如果只需要资源的信息,而不需要实际内容(比如检查图片是否更新),使用 HEAD 可以减少不必要的数据传输。
Head请求的用途
1. 检测资源是否可用
通过 HEAD 请求,可以检查 URL 是否可用,而不必下载整个资源
2. 检查资源是否更新
如果想避免重复下载,可以用 HEAD 请求检查 Last-Modified 或 ETag
3. 预检查文件大小
如果想知道一个大文件的大小,但不想下载它:
为什么开发中不太常见
许多 RESTful API 只实现了 GET / POST / PUT / DELETE,而忽略了 HEAD,因为:
HEAD只是GET的子集,开发者觉得没必要单独实现。- 许多 Web 框架默认不会提供
HEAD处理(或者HEAD只是GET的一个变体)。 - 大部分应用并不关心只获取
Headers,而是直接请求完整数据。
HEAD 请求的前端 & 后端示例
前端:用 fetch 发送 HEAD 请求
fetch("https://example.com", { method: "HEAD" })
.then(response => {
console.log(response.headers.get("content-length")); // 获取资源大小
console.log(response.headers.get("last-modified")); // 检查是否更新
});
后端:用 Express 处理 HEAD 请求
const express = require("express");
const app = express();
app.head("/check", (req, res) => {
res.set({
"Content-Type": "text/plain",
"Content-Length": "123"
});
res.status(200).end(); // 结束响应,不发送 Body
});
app.listen(3000, () => console.log("Server running on port 3000"));

浙公网安备 33010602011771号