Новою адресою лічильника не користується ніхто
Адреса, яку ми описуємо для лічильника, — /c/<number>-<design>.png. 30 серпня її запитали 156 разів.
Адресу 2006 року — /index.php?action=pic&s4uid=… — запитали 80 499 разів, із 761 різного лічильника.
Шість поколінь, і всі ще працюють
Якщо розібрати ці 80 499 запитів за тим, які параметри вони несуть, виходить шість різних видів, і кожен із них — чиясь жива сторінка.
Найбільший, 55 503 запити, шле майже нічого: дію і номер лічильника. Далі 10 026 із повним описом оформлення — кольори, шрифти, режим тла, одинадцять місць під елементи, до 57 параметрів в одній адресі. 5 898 додають джерело переходу й поточну сторінку, і саме це покоління зробило можливими сторінки входу та шляхи. 4 544 шлють координати миші, залишок можливості 2015 року. 2 533 несуть позначку js, значення якої мені довелося шукати, а 1 995 — візерунок.
Жоден із них не зламаний. Сервер відповідає всім шістьом, бо параметри ніколи не прибирали — їх просто перестали породжувати.
Чому нова адреса порожня
Бо ніщо не переписує елемент <img>, який хтось уклеїв у сторінку 2011 року.
Це все пояснення, і його варто сказати прямо, бо 156 легко прочитати як провал нової адреси. Це не провал. Нова адреса коротша, кешується й читається, і кожен лічильник, створений відтоді, як вона з’явилася, нею користується. Просто їх мало проти вже встановленого, а встановлене себе не оновлює.
Для коду це означає щось менш зручне. Шість видів мусять далі працювати, зокрема той із 57 параметрами й той, що повідомляє, де була миша. Кожен — шлях, який може зламатися, і п’ять із них не перевіриш, дивлячись на те, що породжує сьогоднішній помічник: сьогоднішній помічник їх не породжує.
Що ми змінили і чого ні
Нічого. Знання розкладу не породжує дії: не можна попросити 761 власника сайтів виправити свій HTML, а вимкнути стару адресу, щоб змусити їх, означало б повалити працюючі лічильники заради ладу в таблиці маршрутів.
Змінюється те, куди йде увага. Перебудова лічильного шляху — це перебудова не однієї адреси, а шести, і та, що найменше важить у документації, важить найбільше в журналі.
Що тут узагальнюється
Описаний інтерфейс і вживаний інтерфейс — дві різні речі, і лише одна з них є в журналі. Код зберігає, для чого його задумали. Журнал доступу зберігає, що люди справді встановили, іноді п’ятнадцять років тому, і це єдине джерело, здатне сказати, який із шести шляхів несе потік.
Дізнатися це коштує однієї команди, і поки її не виконаєш, найновіша адреса в документації виглядає головною.