Django compression middleware ondersteun nou Zstandard

Ek dink ek het die eerste keer van Zstandard (zstd) gehoor in ’n joernaalinskrywing deur Gregory Szorc. Ek sien toe op ’n stadium dat zstd ook in IANA se content coding registry vir HTTP geregistreer is, en ek probeer toe uit te vind hoeveel van die web-ekosisteem reeds daarvoor ondersteuning het. Soos ek onthou was daar op daardie stadium slegs aanvanklike steun vir zstd in Nginx, en niks anders nie.

Dinge lyk nog nie veel beter nie, maar zstd het steeds verbeter en is deur heelwat projekte opgeneem vir toepassings buite die web. Toe ek onlangs kyk, sien ek een HTTP-kliënt, wget2, wat sê dat dit zstd ondersteun. Ek besluit toe om Django compression middleware uit te brei met ondersteuning vir zstd en dit te toets met wget2. Met wget2 kan ek seker maak dat ten minste een webkliënt die middelware se afvoer kan hanteer.

Ek het ’n paar dae gelede weergawe 0.3.0 van Django compression middleware vrygestel met ondersteuning vir zstd. Aangesien ek nie van enige webblaaiers weet wat dit al ondersteun nie verwag ek nie dat veel mense hieroor opgewonde sal wees nie. Daar is nog nie eens inligting op die Can I use …-webwerf oor zstd nie (github-verslag). Ek sien hierdie egter as my klein bydrae tot die ekosisteem.

Dit is nie duidelik dat Zstandard ’n aansienlike verbetering oor die alternatiewe is in alle gevalle nie, maar my toetswerk op verskeie HTML- en JSON-lêers dui daarop dat dit meestal die selfde of beter as Brotli is, en eintlik altyd beter as gzip (met die verstekwaardes wat ek tans gebruik). “Beter” beteken in hierdie geval ’n kleiner afvoer wat in die selfde of korter tyd gelewer word.

Django compression middleware ondersteun nou zstd, Brotli en gzip.