Sex generationer räknaradresser, alla besvaras fortfarande
Adressen vi dokumenterar för en räknare är /c/<number>-<design>.png. Den 30 augusti begärdes den 156 gånger.
Adressen från 2006 — /index.php?action=pic&s4uid=… — begärdes 80 499 gånger, av 761 olika räknare.
Sex generationer, alla fortfarande i drift
Sorterar man de 80 499 förfrågningarna efter vilka parametrar de har får man sex tydligt skilda former, och var och en av dem är någons levande sida.
Den största, 55 503 förfrågningar, skickar nästan ingenting: åtgärden och räknarnumret. Sedan 10 026 med den fullständiga stilbeskrivningen — färger, typsnitt, bakgrundsläge, elva elementplatser, upp till 57 parametrar i en enda adress. 5 898 lägger till hänvisande sida och aktuell sida, och det är den generation som över huvud taget gjorde ingångssidor och klickvägar möjliga. 4 544 skickar muskoordinater, en kvarleva från en funktion från 2015. 2 533 har flaggan js vars betydelse jag fick slå upp, och 1 995 ett mönster.
Ingen av dem är trasig. Servern besvarar alla sex, eftersom parametrarna aldrig togs bort — de slutade bara att genereras.
Varför den nya adressen är tyst
Eftersom ingenting skriver om taggen <img> som någon klistrade in på en sida 2011.
Det är hela förklaringen, och den är värd att säga rakt ut, eftersom det är lätt att läsa de 156 som ett misslyckande för den nya adressen. Det är det inte. Den nya adressen är kortare, cachebar och läsbar, och varje räknare som har skapats sedan den kom använder den. Det finns bara inte så många sådana jämfört med den installerade basen, och den installerade basen uppdaterar inte sig själv.
Vad det här betyder för koden är en stående förpliktelse snarare än ett fel. Sex former måste fortsätta fungera, också den med 57 parametrar och den som skickar var en mus befann sig. Var och en är en väg som måste förbli korrekt, och fem av dem kan inte provas genom att titta på vad den nuvarande guiden genererar — den nuvarande guiden genererar dem inte. Det är loggen som namnger dem, och därför läses den innan något på den vägen rörs.
Vad vi ändrade och vad vi inte ändrade
Ingenting. Att känna till fördelningen leder inte till någon åtgärd: vi kan inte be 761 webbplatsägare att redigera sin HTML, och att bryta den gamla adressen för att tvinga fram saken skulle slå ut fungerande räknare bara för att städa upp en routingtabell.
Vad det däremot ändrar är var omsorgen hamnar. En refaktorering som rör räknevägen är inte en refaktorering av en adress; den är en refaktorering av sex, och den som betyder minst i dokumentationen betyder mest i loggen.
Den allmänna lärdomen
Det dokumenterade gränssnittet och det använda gränssnittet är två olika saker, och bara det ena finns i loggen. En kodbas visar vad den var utformad att göra. Åtkomstloggen visar vad folk faktiskt installerade, ibland för femton år sedan, och den är den enda källa som kan säga vilken av sex kodvägar som bär trafiken.
Det kostar ett kommando att ta reda på det. Tills det kommandot har körts ser den nyaste adressen i dokumentationen ut som den viktigaste.