Kontaktovat podporu

Odpovíme e-mailem, obvykle do dvou dnů.

Google reCAPTCHA kontroluje toto odeslání kvůli ochraně před zneužitím; data se přitom předávají společnosti Google. Skript se načte až při otevření tohoto formuláře.

← Všechny články

Šest generací adres počítadla a všechny stále fungují

Adresa, kterou pro počítadlo dokumentujeme, je /c/<number>-<design>.png. Dne 30. srpna o ni bylo požádáno 156krát.

Adresa z roku 2006 — /index.php?action=pic&s4uid=… — byla vyžádána 80 499krát, a to 761 různými počítadly.

požadavky na počítací endpoint 30. srpna podle generace kódu prostý, jen číslo 55 503 plná verze se stylem 10 026 s odkazující stránkou a adresou 5 898 se souřadnicemi myši 4 544 s js= 2 533 s pattern= 1 995 /c/<číslo>-<design>.png 156 80 499 požadavků od 761 počítadel, všechny na adresu z roku 2006 dokumentovaná adresa tvoří 0,19 % toho, co skutečně přichází

Šest generací, všechny stále běží

Když se těch 80 499 požadavků roztřídí podle parametrů, které nesou, vyjde šest odlišných tvarů a každý z nich je něčí živá stránka.

Největší, 55 503 požadavků, neposílá skoro nic: akci a číslo počítadla. Pak 10 026 s úplným popisem stylu — barvy, písma, režim pozadí, jedenáct pozic pro prvky, až 57 parametrů v jedné adrese. 5 898 přidává odkazující stránku a aktuální stránku, což je generace, díky níž byly vstupní stránky a cesty vůbec možné. 4 544 posílá souřadnice myši, pozůstatek funkce z roku 2015. 2 533 nese příznak js — jeho význam jsem musel dohledat — a 1 995 vzor.

Žádný z nich není rozbitý. Server odpovídá všem šesti, protože parametry nikdy nebyly odstraněny — jen se je přestalo generovat.

Proč je nová adresa tichá

Protože značku <img> vloženou do stránky v roce 2011 nic nepřepíše.

To je celé vysvětlení a stojí za to ho říct otevřeně, protože je snadné číst těch 156 jako selhání nové adresy. Není. Nová adresa je kratší, dá se ukládat do mezipaměti, je čitelná a používá ji každé počítadlo vytvořené od doby, kdy existuje. Jen jich není mnoho ve srovnání s instalovanou základnou a instalovaná základna se sama neaktualizuje.

Pro kód to znamená trvalý závazek, ne vadu. Šest tvarů musí dál fungovat, včetně toho s 57 parametry a toho, který posílá, kde byla myš. Každý je cesta, která musí zůstat správná, a pět z nich nelze vyzkoušet tím, že se podíváte, co generuje současný průvodce — současný průvodce je negeneruje. Pojmenuje je log, a proto se čte dřív, než se na té cestě na cokoli sáhne.

Co jsme změnili a co ne

Nic. Znalost rozložení nevytváří žádný úkol: nemůžeme požádat 761 majitelů webů, aby upravili své HTML, a rozbít starou adresu, abychom je donutili, by vyřadilo fungující počítadla jen kvůli úklidu směrovací tabulky.

Mění to ale, kam se upírá péče. Refaktoring, který se dotkne počítací cesty, není refaktoring jedné adresy; je to refaktoring šesti, a ta, na které v dokumentaci záleží nejméně, je v logu nejdůležitější.

Co z toho plyne obecně

Dokumentované rozhraní a používané rozhraní jsou dvě různé věci a jen jedna z nich je v logu. Kód zaznamenává, k čemu byl navržen. Přístupový log zaznamenává, co si lidé skutečně nainstalovali, někdy před patnácti lety, a je jediným zdrojem, který dokáže určit, která ze šesti cest v kódu nese provoz.

Zjistit to stojí jeden příkaz. Dokud ho nikdo nespustí, vypadá nejnovější adresa v dokumentaci jako ta hlavní.

Reklama