Funciona assim: o client pede um recurso na API e o servidor devolve os dados junto com um header tipo ETag: "abc123", que é como se fosse a “versão” daquele conteúdo. O navegador guarda isso no cache. Quando o mesmo recurso é pedido de novo, o client manda essa tag no header If-None-Match. Se nada mudou, o backend responde 304 Not Modified e nem manda o conteúdo de novo, porque o client já tem. Frameworks como o Express já geram esse ETag automaticamente e o navegador já sabe lidar com isso sozinho.
Respondendo a "@klawdyo mas então como funciona isso por baixo..." dentro da publicação Como funciona o status code 304?
1