rsnext/packages/next/server/send-payload
Sukka 97df2bb095
refactor: rewrite etag (#38568)
x-ref: https://github.com/vercel/next.js/issues/38235#issuecomment-1182283358

Rewrite ETag generate function with `fnv1a` hash.

FNV hashes are designed to be fast while maintaining a low collision rate. The FNV speed allows one to quickly hash lots of data while maintaining a reasonable collision rate (https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed/145633).

[fastify-etag](https://github.com/fastify/fastify-etag) also uses `fnv1a` algorithm by default.

cc @shuding: Should `experimental-edge` also switch to `fnv1a` for ETag, for consistency?
2022-07-18 09:20:44 +00:00
..
index.ts refactor: rewrite etag (#38568) 2022-07-18 09:20:44 +00:00
revalidate-headers.ts Reduce the size of web server (#34767) 2022-02-24 19:53:17 +00:00