如何在 Next.js 中禁用 ETag 生成?
在本文中,我们将了解如何在 Next.js 中禁用 ETag 生成。按照以下步骤在 Next.js 应用程序中禁用 Etag。
ETags: ETag 或实体标签是 HTTP 的一部分,HTTP 是万维网的协议。它是一个消息头字段,为特定版本的资源指定唯一标识符。
ETag 用于确定缓存的资源是否是最新的。如果 HTTP 响应中的 ETag 头字段与请求中的 ETag 头字段匹配,则认为响应是新鲜的。否则,该资源被认为是陈旧的并且必须检索该资源的新版本。
ETag 还用于防止同时更新资源。如果客户端尝试更新之前已被另一个客户端更新的资源,服务器可以使用 ETag 头字段来确定自客户端上次访问后该资源是否已更新。如果资源没有被更新,服务器可以向客户端返回一个 304(Not Modified)响应,表示客户端应该使用缓存版本的资源。
创建 NextJs 应用程序:
第 1 步:要创建一个新的 NextJs 应用程序,请在终端中运行以下命令:
npx create-next-app GFG
第 2 步:创建项目文件夹(即 GFG )后,使用以下命令移动到该文件夹:
cd GFG
项目结构:它看起来像这样。
示例:要检查 ETag,我们在应用程序的 index.js 文件中添加以下代码。
index.js
// Import Link component
import Link from "next/link";
export default function Home() {
return (
This is a demo - GeeksforGeeks
ETag NextJs
);
}
Javascript
module.exports = {
reactStrictMode: true,
generateEtags: false,
}
运行应用程序的步骤:现在使用以下命令运行应用程序:
npm run dev
输出:
示例:在 NextJs 中禁用 ETag,Next.js 的一个缺点是它为每个页面生成 etag。这会减慢页面的加载速度,尤其是在移动设备上。如果您不需要 etags,您可以通过将以下代码添加到 next.config.js 文件来禁用它们的生成。
文件名:next.config.js
Javascript
module.exports = {
reactStrictMode: true,
generateEtags: false,
}
运行应用程序的步骤:现在使用以下命令运行应用程序:
npm run dev
输出: