Source
Євгеній Гизила | Not;A=BrandВже деякий час гугл просуває ідею Client Hintsзаголовків на...
1 010 Views/Reach
2025-08-17 11:06
Message №195
Not;A=BrandВже деякий час гугл просуває ідею Client Hintsзаголовків на заміну User-Agent. Вони краще структуровані і, за словами гугла, є privacy focused, ніж User-Agent 😁. Ось мої заголовки для прикладу:Sec-Ch-Ua: "Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"Sec-Ch-Ua-Mobile: ?0Sec-Ch-Ua-Platform: "macOS"Але що за Not;A=Brand в Sec-Ch-Ua заголовку? Якось він підозріло виглядає і весь день мелькає переді мною в дев консолі. Виявилося, що цей NotABrand браузер спеціально додається хромом в рамках механізму GREASE (Generate Random Extensions And Sustain Extensibility) і має дві важливі місії:🆕 перша з них, щоб вебсайти не камʼяніли (TIL: ossification) і з самого початку вміли працювати з невідомими браузерами. Це значення час від часу хромом міняється при релізі нової версії, тому сьогодні це Not;A=Brand, а завтра буде Not)A=Brand чи щось подібне. 💔 друга мета, щоб веб сайти парсили цей заголовок по стандарту structured headers і не ламалися від якихось кривих символів типу крапки з комою чи дужок. В мене вже були пригоди з цим заголовоком, тому можна почитати тут.Цікаво буде поспотерігати чи спрацює цей NotA=Brand в довгій перспективі, але тим не менш цікаве рішення проблемі закамʼянілості протоколів.