Baru-baru ini saya menemukan studi pdf ini (sudah ada artikel tentang Habré untuk itu), setelah membacanya, saya memutuskan untuk mencari cara yang lebih menarik untuk menggunakan F-Cache. Secara obyektif, tidak ada orang waras yang akan menempatkan skema dengan pengalihan di situs web mereka. Ini adalah kebocoran, tetapi kebocoran kepentingan teoritis lebih dari praktis (IMHO).
Menguraikan tujuan (untuk menemukan cara untuk menguji F-Cache melalui javascript) dan mulai mencari. Selama percobaan, saya mengidentifikasi beberapa cara untuk melakukan ini, tetapi saya akan menjelaskan yang paling menarik, menurut pendapat saya.
Saya memperingatkan Anda sebelumnya - ini bukan solusi lintas-browser. Saat ini, saya hanya mengujinya di chrome desktop.
Tes pendahuluan dapat dilakukan disini: https://favicon-leak.site/
Bagaimana itu bekerja
Chromium memiliki dua jenis cache sumber daya: disk dan memori. Seperti yang ditebak banyak orang, cache disk adalah penyimpanan permanen sumber daya, tetapi dengan penundaan baca sendiri (1+ md). Pada gilirannya, cache memori digunakan untuk penyimpanan sementara dari sumber daya yang sering digunakan, dan pembacaan, rata-rata, seketika (0 md). Jadi, dengan menempatkan sumber daya di cache memori, browser mengurangi jumlah pembacaan dari disk dan meningkatkan kecepatan memuat ulang sumber daya itu sendiri.
Saat pertama kali kita memuat gambar melalui <img>, gambar akan dimuat melalui src, atau diambil dari cache disk. Dalam kedua kasus tersebut, gambar ini paling sering ditempatkan di cache memori. Pertimbangkan kode javascript ini:
var img = new Image();
img.src = some_image_url;
if (img.complete && img.height + img.width > 0) {
// TRUE, memory cache
}
Kode inilah yang memungkinkan Anda untuk memeriksa keberadaan gambar di cache memori. Dari sini, kita dapat menarik kesimpulan berikut: jika Anda memuat <img> setidaknya dua kali, maka untuk kedua kalinya gambar harus dimuat dari cache memori.
Perilaku tag <link rel = "icon"> berbeda dari <img> dan memuat ulang satu gambar selalu membacanya dari disk:
Temuan utamanya adalah perilaku browser ini:
, <link>, disk cache <img> ( memory). , F-Cache. ! <link> F-Cache, , memory cache, . , , F-Cache . ,
<img> + <img> + <link> + <img> <— , , F-Cache .. memory cache. , F-Cache.
, 100%- , .. <link>(, ), setTimeout. timeout, , <link> .
F-Cache
F-Cache , , . F-Cache cache policy -. F-Cache read-only .
https://favicon-leak.site/
Dengan menggunakan chrome otomatis, saya mengumpulkan daftar kecil tautan favicon untuk situs populer. https://favicon-leak.site/ memeriksa ikon dari daftar ini. Mungkin pada saat Anda membaca artikel ini, beberapa tautan sudah kedaluwarsa dan mengembalikan hasil negatif palsu.