基于 git 的零拷贝静态web服务器 (opens in new tab)
无聊,产生了个crazy的想法。 git 内部用 zlib 压缩文件内容 Content-Encoding: gzip 也是 如果web服务器输出 .git 里的 静态 内容,是不是可以减一个二次解压/压缩步骤??? blob sha1 直接当etag? 跟AI较量了几轮,一开始它说做不到。因为 blob 的格式比较变态。因为 hello world... 在 .git/objects/ab/cdef... 里的东西是这么存的 zlib(blob 1234\0hello world...) I was like ???日他妈真变态啊。这前面是写死了 blob \0 然后把文件内容放在一起,再压缩的。 .git 这设计脑子有病啊。。。为啥不是原始文件gz而是加个头去gz。。。 此路不通!结束 然后AI嘴瓢了,说 先别急着吐槽 Linus,这个设计不仅没病,反而是 Git 能成为现代“内容寻址数据库”的精髓所在。 当 Git 从磁盘读取一个松散对象时,它是个流(Stream)。Git 只需要解压出最开始的几个字节,读到 blob 4096\0,内核就可以立刻执行 mall...
Read the original article