ETag або entity tag — частина HTTP, протоколу World Wide Web. Є одним з декількох механізмів HTTP, який забезпечує валідацію кешу та дозволяє клієнту робити умовні запити. Це дозволяє збільшити ефективність кешу та економити пропускну здатність, оскільки вебсерверу не потрібно надсилати повну відповідь у разі, якщо контент не змінився. ETag може також використовуватись для , як способу запобігти тому, що одночасні оновлення перезаписують одні одних.
ETag — закритий ідентифікатор, присвоєний вебсервером на певну версію ресурсу, розміщеного за деяким URL. Якщо вміст ресурсу для цього URL змінюється, присвоюється новий та інший ETag. Використання ETags таким способом схоже на використання відбитків пальців, їх можна швидко порівняти і визначити, чи є дві версії ресурсу однаковими.
Генерування ETag
Використання ETags в заголовку HTTP є необов'язковим (як і у випадку з деякими іншими полями заголовка HTTP 1.1). Метод генерування ETags ніколи не був визначений в специфікації HTTP.
Загальновживані методи генерування ETag включають в себе використання стійких до колізій геш-функцій контенту ресурсу, гешу мітки часу останньої модифікації, або просто номера ревізії.
Для уникнення використання застарілих даних з кешу, методи генерування ETags повинні гарантувати унікальність кожного ETag. Однак функцію генерування ETag можна вважати "придатною", якщо можна довести, що повторюваність ETags буде відбуватися "відносно рідко" у випадку, якщо це трапиться.
Відомо, що деякі більш ранні контрольні суми, що були слабкішими від CRC32 чи CRC64, страждають від проблеми геш-колізій. Через це їх не використовували в генеруванні ETag.
Сильна та слабка валідація
Механізм ETag підтримує як сильну валідацію, так і слабку валідацію. Вони відрізняються наявністю початкового "W/" в ідентифікаторі ETag, як наприклад:
"123456789" – Сильний валідатор ETag W/"123456789" – Слабкий валідатор ETag
ETag, який відповідає сильній валідації, вказує на побайтну ідентичність контенту двох версій ресурсу та на те, що всі інші поля об'єкта також є незмінними. Сильні ETags дозволяють кешувати та повторно збирати неповні відповіді.
ETag, який відповідає слабкій валідації, вказує лише на те, що ці дві версії є , а це означає, що для практичних цілей вони взаємозамінні та можуть бути використані кешовані копії. Проте версії ресурсів не обов'язково побайтно ідентичні, і, отже, слабкі ETags не підходять для запитів байтного діапазону. Слабкі ETags можуть бути корисними для випадків, коли сильні ETags є непрактичними для генерування вебсервером, як-от у випадку з динамічно генерованим контентом.
Відстеження за допомогою ETags
ETags можуть бути використані для відстеження унікальних користувачів, оскільки куки дедалі більше видаляються користувачами, які обізнані з конфіденційністю. У липні 2011 року та команда дослідників університету Берклі повідомили, що на ряді вебсайтів, включаючи Hulu.com [ 2 серпня 2018 у Wayback Machine.], використовувались ETags для цілей відстеження.
Через те, що ETags кешуються браузером і повертаються з наступними запитами для одного і того ж ресурсу, сервер відстеження може просто повторити будь-який ETag, отриманий від браузера, щоб забезпечити те, що призначений ETag зберігається на невизначений термін (подібно до постійних куки). Додаткові заголовки кешування також можуть покращити збереження даних ETag.
ETags можна стерти очищенням кешу вебпереглядача (залежить від браузера).
Примітки
- W3C Note. (10 травня 1999.). "Editing the Web – Detecting the Lost Update Problem Using Unreserved Checkout". Архів оригіналу за 3 червня 2013.
- "tracking without cookies". 17 лютого 2003. Архів оригіналу за 3 червня 2013.
- Ayenson, Mika; Wambach, Dietrich; Soltani, Ashkan; Good, Nathan; Hoofnagle, Chris (29 липня 2011). Flash Cookies and Privacy II: Now with HTML5 and ETag Respawning. № ID 1898390. Процитовано 15 листопада 2017.
- . Архів оригіналу за 27 серпня 2013.
Посилання
- Apache HTTP Server Documentation – FileETag Directive [ 22 травня 2014 у Wayback Machine.]
- Editing the Web: Detecting the Lost Update Problem Using Unreserved Checkout [Архівовано 3 червня 2013 у WebCite], W3C Note, 10 May 1999.
- Old SQUID Development projects – ETag support [ 23 вересня 2012 у Wayback Machine.] (completed in 2001)
- Using ETags to Reduce Bandwidth & Workload with Spring & Hibernate [ 22 травня 2014 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ETag abo entity tag chastina HTTP protokolu World Wide Web Ye odnim z dekilkoh mehanizmiv HTTP yakij zabezpechuye validaciyu keshu ta dozvolyaye kliyentu robiti umovni zapiti Ce dozvolyaye zbilshiti efektivnist keshu ta ekonomiti propusknu zdatnist oskilki vebserveru ne potribno nadsilati povnu vidpovid u razi yaksho kontent ne zminivsya ETag mozhe takozh vikoristovuvatis dlya yak sposobu zapobigti tomu sho odnochasni onovlennya perezapisuyut odni odnih ETag zakritij identifikator prisvoyenij vebserverom na pevnu versiyu resursu rozmishenogo za deyakim URL Yaksho vmist resursu dlya cogo URL zminyuyetsya prisvoyuyetsya novij ta inshij ETag Vikoristannya ETags takim sposobom shozhe na vikoristannya vidbitkiv palciv yih mozhna shvidko porivnyati i viznachiti chi ye dvi versiyi resursu odnakovimi Generuvannya ETagVikoristannya ETags v zagolovku HTTP ye neobov yazkovim yak i u vipadku z deyakimi inshimi polyami zagolovka HTTP 1 1 Metod generuvannya ETags nikoli ne buv viznachenij v specifikaciyi HTTP Zagalnovzhivani metodi generuvannya ETag vklyuchayut v sebe vikoristannya stijkih do kolizij gesh funkcij kontentu resursu geshu mitki chasu ostannoyi modifikaciyi abo prosto nomera reviziyi Dlya uniknennya vikoristannya zastarilih danih z keshu metodi generuvannya ETags povinni garantuvati unikalnist kozhnogo ETag Odnak funkciyu generuvannya ETag mozhna vvazhati pridatnoyu yaksho mozhna dovesti sho povtoryuvanist ETags bude vidbuvatisya vidnosno ridko u vipadku yaksho ce trapitsya Vidomo sho deyaki bilsh ranni kontrolni sumi sho buli slabkishimi vid CRC32 chi CRC64 strazhdayut vid problemi gesh kolizij Cherez ce yih ne vikoristovuvali v generuvanni ETag Silna ta slabka validaciyaMehanizm ETag pidtrimuye yak silnu validaciyu tak i slabku validaciyu Voni vidriznyayutsya nayavnistyu pochatkovogo W v identifikatori ETag yak napriklad 123456789 Silnij validator ETag W 123456789 Slabkij validator ETag ETag yakij vidpovidaye silnij validaciyi vkazuye na pobajtnu identichnist kontentu dvoh versij resursu ta na te sho vsi inshi polya ob yekta takozh ye nezminnimi Silni ETags dozvolyayut keshuvati ta povtorno zbirati nepovni vidpovidi ETag yakij vidpovidaye slabkij validaciyi vkazuye lishe na te sho ci dvi versiyi ye a ce oznachaye sho dlya praktichnih cilej voni vzayemozaminni ta mozhut buti vikoristani keshovani kopiyi Prote versiyi resursiv ne obov yazkovo pobajtno identichni i otzhe slabki ETags ne pidhodyat dlya zapitiv bajtnogo diapazonu Slabki ETags mozhut buti korisnimi dlya vipadkiv koli silni ETags ye nepraktichnimi dlya generuvannya vebserverom yak ot u vipadku z dinamichno generovanim kontentom Vidstezhennya za dopomogoyu ETagsETags mozhut buti vikoristani dlya vidstezhennya unikalnih koristuvachiv oskilki kuki dedali bilshe vidalyayutsya koristuvachami yaki obiznani z konfidencijnistyu U lipni 2011 roku ta komanda doslidnikiv universitetu Berkli povidomili sho na ryadi vebsajtiv vklyuchayuchi Hulu com 2 serpnya 2018 u Wayback Machine vikoristovuvalis ETags dlya cilej vidstezhennya Cherez te sho ETags keshuyutsya brauzerom i povertayutsya z nastupnimi zapitami dlya odnogo i togo zh resursu server vidstezhennya mozhe prosto povtoriti bud yakij ETag otrimanij vid brauzera shob zabezpechiti te sho priznachenij ETag zberigayetsya na neviznachenij termin podibno do postijnih kuki Dodatkovi zagolovki keshuvannya takozh mozhut pokrashiti zberezhennya danih ETag ETags mozhna sterti ochishennyam keshu vebpereglyadacha zalezhit vid brauzera PrimitkiW3C Note 10 travnya 1999 Editing the Web Detecting the Lost Update Problem Using Unreserved Checkout Arhiv originalu za 3 chervnya 2013 tracking without cookies 17 lyutogo 2003 Arhiv originalu za 3 chervnya 2013 Ayenson Mika Wambach Dietrich Soltani Ashkan Good Nathan Hoofnagle Chris 29 lipnya 2011 Flash Cookies and Privacy II Now with HTML5 and ETag Respawning ID 1898390 Procitovano 15 listopada 2017 Arhiv originalu za 27 serpnya 2013 PosilannyaApache HTTP Server Documentation FileETag Directive 22 travnya 2014 u Wayback Machine Editing the Web Detecting the Lost Update Problem Using Unreserved Checkout Arhivovano 3 chervnya 2013 u WebCite W3C Note 10 May 1999 Old SQUID Development projects ETag support 23 veresnya 2012 u Wayback Machine completed in 2001 Using ETags to Reduce Bandwidth amp Workload with Spring amp Hibernate 22 travnya 2014 u Wayback Machine