Endpoint yang menjawab dengan kekosongan
Ada sebuah path di server ini yang tidak melakukan apa-apa. Sebuah aturan rewrite menangkapnya dan mengembalikan 204: tanpa konten, tanpa isi, tanpa pekerjaan. Pada 30 Agustus path itu dipanggil 1.000 kali.
Dulunya apa
Path-nya adalah /ssl/mt/, dan mt adalah pelacakan mouse. Pada 2015 sebuah skrip mencatat ke mana penunjuk mouse pengunjung bergerak dan mengirim koordinatnya ke sini. Fitur itu sudah tidak ada. Aturan yang menjawab 204 adalah sisa dari fitur itu, dan aturan itu ada agar skrip di halaman-halaman tersebut mendapat jawaban yang valid, bukan 404 di konsol.
Panggilan itu datang dari 45 penghitung berbeda dan 240 alamat berbeda. Tidak satu pun berupa crawler. Ini adalah browser, di halaman sungguhan, yang menjalankan skrip yang sudah bertahun-tahun memanggil endpoint mati, dan satu situs saja menyumbang 163 dari seribu panggilan itu.
Tidak akan ada yang memperbaikinya
Skrip itu berada di HTML halaman milik orang lain. Skrip itu ditempelkan di sana sekali, dan tidak ada mekanisme apa pun yang akan membuatnya ditempelkan ulang. Hal yang sama berlaku untuk alamat penghitung dari 2006, yang masih membawa hampir seluruh lalu lintas penghitungan.
Sehingga tersisa dua pilihan yang jujur. Terus menjawab 204 selamanya, yang biayanya satu aturan rewrite dan sama sekali tanpa PHP. Atau berhenti menjawab, yang mengubah sebuah no-op senyap menjadi galat di browser 45 orang, tanpa manfaat bagi siapa pun.
Kami terus menjawab. Itu respons termurah yang mungkin dan tidak terlihat oleh pemilik halaman tersebut.
Berapa biaya sebenarnya
Aturan itu berada di .htaccess dan tidak pernah sampai ke PHP, sehingga biayanya hanya satu pencocokan pola per permintaan. Seribu pencocokan per hari bukan angka yang layak dioptimalkan; alasan mengukurnya bukan biaya, melainkan untuk mengetahui apakah masih ada yang memanggil sama sekali.
Jawabannya — empat puluh lima situs, tidak satu pun crawler — adalah bagian yang mengubah cara memandang penghapusan fitur. Mematikan sebuah fitur tidak menghentikan permintaan. Yang dihentikannya adalah jawaban.
Yang berlaku umum
Fitur yang dihapus meninggalkan dua jejak: kode yang dihapus, dan pemanggil yang tidak bisa dijangkau. Yang pertama ada di repositori dan mudah dibanggakan. Yang kedua hanya ada di log, dan terus berdatangan.
Pertanyaan yang berguna sebelum menghapus apa pun yang disematkan orang lain bukanlah «apakah ini masih dipakai», melainkan «siapa yang masih akan memanggilnya, dan apa yang akan mereka dapatkan». Kedua bagian itu bisa diukur, dan hanya satu yang ada di dalam kode.