Google telah mencetuskan perdebatan sengit dalam komuniti pembangunan web dengan mencadangkan untuk membuang sokongan XSLT (Extensible Stylesheet Language Transformations) daripada pelayar web. Cadangan tersebut, yang digariskan dalam isu GitHub , menyebut kelemahan keselamatan dan penggunaan yang menurun sebagai sebab utama untuk pemansuhan. Walau bagaimanapun, cadangan itu telah mendapat tentangan besar daripada pembangun yang bergantung pada teknologi tersebut, terutamanya untuk pemformatan suapan RSS dan sistem warisan.
Kebimbangan Keselamatan Mendorong Cadangan Pembuangan
Cadangan ini berpunca daripada kelemahan keselamatan serius yang ditemui dalam pelaksanaan XSLT merentasi pelayar utama. Penyelidikan terkini mendedahkan pelbagai pepijat yang tidak dikesan selama lebih 20 tahun, dengan beberapa membolehkan pelaksanaan kod sewenang-wenangnya. Perpustakaan asas yang digunakan oleh pelayar, seperti libxslt dalam Chromium , adalah pangkalan kod C/C++ yang semakin tua dan sangat terdedah kepada isu keselamatan memori seperti limpahan penimbal. Google berhujah bahawa memandangkan penggunaan XSLT telah menurun kepada kurang daripada 0.01% daripada muatan halaman, risiko keselamatan melebihi faedah mengekalkan kod kompleks ini.
XSLT: Bahasa untuk mengubah dokumen XML kepada format lain, biasanya digunakan untuk menggayakan suapan RSS dan menukar data antara struktur berbeza.
Statistik Penggunaan XSLT:
- Penggunaan semasa: <0.01% daripada muatan halaman mengikut telemetri pelayar
- Kerumitan kod: ~100,000 baris kod khusus dalam enjin pelayar
- Kelemahan keselamatan: Pelbagai pepijat ditemui selepas 20+ tahun, sebahagiannya membolehkan pelaksanaan kod sewenang-wenangnya
Reaksi Keras Komuniti Terhadap Keserasian Mundur
Komuniti pembangun telah bertindak balas dengan tentangan kuat, melihat cadangan ini sebagai satu lagi contoh kesediaan Google untuk merosakkan keserasian web demi kemudahan. Ramai pembangun menekankan bahawa XSLT memainkan peranan penting dalam menjadikan suapan RSS boleh dibaca dalam pelayar, mengubah XML mentah kepada persembahan HTML yang mesra pengguna. Pembuangan ini akan merosakkan beribu-ribu suapan RSS sedia ada yang bergantung pada helaian gaya XSLT untuk memaparkan kandungan dengan betul.
Tidak dapat difahami bahawa jika anda membuka penyelesaian web terbuka untuk melanggan kandungan web (RSS), anda disambut dengan dinding teks yang tidak diformat. Sekarang ini, XSLT adalah pembaikan lemah kepada ketidakupayaan asas pelayar tersebut.
Pengkritik berhujah bahawa pendekatan Google bercanggah dengan prinsip asas web iaitu keserasian mundur, yang telah membolehkan halaman berusia 30 tahun masih berfungsi hari ini.
Penyelesaian Alternatif dan Respons Industri
Google telah membangunkan polyfill berasaskan WebAssembly sebagai pengganti berpotensi, tetapi saiz 46 megabait telah menarik kritikan daripada pembangun yang bimbang tentang kesan prestasi. WebKit telah menyatakan sokongan berhati-hati untuk pembuangan tersebut, menunjukkan mereka akan menunggu pelayar lain melaksanakan perubahan terlebih dahulu. Walau bagaimanapun, komuniti telah mencadangkan pendekatan alternatif, seperti menghantar polyfill terus dalam pelayar atau mengemas kini kepada pelaksanaan XSLT selamat memori yang ditulis dalam bahasa seperti Rust .
Perdebatan ini mencerminkan ketegangan yang lebih luas antara vendor pelayar yang ingin mengurangkan beban penyelenggaraan dan pembangun yang menghargai kestabilan web. Walaupun Google meletakkan ini sebagai langkah keselamatan yang perlu, pengkritik melihatnya sebagai sebahagian daripada corak di mana vendor pelayar utama mengutamakan kemudahan mereka sendiri berbanding keperluan pengguna dan keserasian web.
Alternatif yang Dicadangkan:
- Polyfill WebAssembly (saiz 46MB)
- Pelaksanaan selamat memori dalam Rust (contohnya, oxslt)
- Pemprosesan XSLT sebelah pelayan
- Penerbitan HTML terus dan bukannya transformasi XML
Kesan Terhadap RSS dan Sistem Warisan
Pembuangan ini akan memberi kesan terutamanya kepada penerbit suapan RSS dan syarikat pengehosan podcast yang menggunakan XSLT untuk mencipta versi suapan mereka yang menarik dan boleh dibaca. Kebanyakan sistem ini tertanam dalam peralatan perkakasan atau perkhidmatan warisan yang tidak boleh dikemas kini dengan mudah. Perubahan ini akan memaksa pencipta kandungan sama ada mengekalkan versi HTML berasingan bagi suapan mereka atau menerima bahawa pengguna akan melihat XML mentah apabila melawat URL suapan secara langsung.
Kontroversi ini menyerlahkan cabaran berterusan untuk mengimbangi keselamatan, kos penyelenggaraan, dan keserasian mundur dalam evolusi platform web. Ketika pelayar terus menambah ciri baharu sambil mempertimbangkan yang lama untuk dibuang, perdebatan XSLT berfungsi sebagai kajian kes tentang bagaimana keputusan sedemikian mempengaruhi ekosistem web yang lebih luas.
Rujukan: Should we remove XSLT from the web platform? #11523