📜  如何在 Next.js 中禁用 ETag 生成?

📅  最后修改于: 2022-05-13 01:56:28.267000             🧑  作者: Mango

如何在 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

输出: