文章摘要
Chrome计划在2026年底移除对XSLT的支持,包括XSLTProcessor API和XML样式表处理指令,以提高浏览器安全性。Firefox和WebKit也有类似计划。文档提供了迁移建议。
文章总结
标题:浏览器将移除XSLT以提升安全性
主要内容:
- 移除计划 Chrome计划在2026年底前逐步淘汰并移除XSLT支持,包括XSLTProcessor JavaScript API和XML样式表处理指令。具体时间表:
- 2025年10月:控制台显示早期警告
- 2025年12月:正式弃用警告
- 2026年3月:测试版默认禁用
- 2026年11月:正式移除(企业策略和试验性功能除外)
- 2027年8月:完全禁用所有XSLT功能
XSLT简介 XSLT是一种用于转换XML文档的语言,可将XML转换为HTML等格式。它诞生于1999年,曾是浏览器处理XML数据的主要方式,但随着JSON和现代JavaScript框架的兴起,目前仅有约0.02%的网页仍在使用。
移除原因
- 安全风险:底层C/C++库(如libxslt)存在内存安全问题,易受攻击
- 维护成本高:使用率极低但维护成本高昂
- 技术替代:现代技术(如React、Vue等)已完全取代其功能
- 行业共识:Firefox和WebKit也计划移除
- 迁移方案 主要替代方案包括:
- 改用JSON和现代JavaScript框架
- 使用JavaScript实现的XSLT库(如Saxonica)
- 采用WASM实现的polyfill方案
- 安装专用Chrome扩展程序
- 特殊用例处理
- RSS/Atom订阅:建议改用标准HTML链接或添加polyfill脚本
- 嵌入式设备API:推荐使用浏览器扩展方案
- 网页模板:建议迁移至现代前端框架或改用服务端渲染
- XML解析改进 虽然移除XSLT,但浏览器仍保留XML解析功能,未来将用Rust编写的安全解析库替代现有的libxml2。
该变更旨在降低浏览器攻击面,简化平台架构,同时不会影响现代Web开发实践。开发者可根据自身需求选择合适的迁移路径。
评论总结
总结评论内容:
反对移除XSLT的观点:
- 认为移除XSLT破坏了开放网络标准,支持者认为XSLT是一种无需JavaScript的客户端模板技术,具有独特价值。
- "Destroying the open web instead of advocating to fix one of the better underutilized browser technologies" (righthand)
- "Being able to do templating without JavaScript was a really cool party trick." (jtvjan)
- 对依赖XSLT的遗留系统表示担忧,认为私有公司不应单方面决定网络标准。
- "Have a legacy system that depends on XSLT in the browser? Sucks to be you" (tclancy)
- "I think being able to do client-side templating without JS is an important feature" (MarsIronPI)
- 认为移除XSLT破坏了开放网络标准,支持者认为XSLT是一种无需JavaScript的客户端模板技术,具有独特价值。
支持移除XSLT的观点:
- 认为XSLT技术过时、复杂且使用率低,移除它可以减少浏览器臃肿和安全风险。
- "XSLT is complete and utter garbage. Good riddance." (creatonez)
- "Removing unused code is a win for browsers. Every anti bloat HNer should be cheering" (socalgal2)
- 支持者提到XSLT的替代方案(如JavaScript)更现代且灵活。
- "it and most of the tech from the 'XML era' was needlessly overcomplicated" (QuadrupleA)
- "Data and its visualisation should be strictly separate" (rf15)
- 认为XSLT技术过时、复杂且使用率低,移除它可以减少浏览器臃肿和安全风险。
中立或技术讨论:
- 部分评论指出其他浏览器(如Firefox和WebKit)也计划移除XSLT,表明这是行业趋势。
- "The Firefox and WebKit projects have also indicated plans to remove XSLT" (sangeeth96)
- 对安全问题的真实性提出质疑,认为移除理由可能不充分。
- "Is this one actually about security? Who knows!" (gdulli)
- "The 'severe security issue' in libxml2 they mention is actually a non-issue" (nwellnhof)
- 部分评论指出其他浏览器(如Firefox和WebKit)也计划移除XSLT,表明这是行业趋势。
特殊用例讨论:
- RSS/Atom订阅依赖XSLT实现可读性,移除可能导致用户体验下降。
- "XSLT is currently the only way to make feeds into something that can still be viewed" (Fileformat)
- 建议通过扩展或Polyfill保留XSLT功能。
- "Would it be possible to move it to an add-on for those who still want it?" (slightwinder)
- RSS/Atom订阅依赖XSLT实现可读性,移除可能导致用户体验下降。
总结:评论呈现了对XSLT移除的明显分歧,反对者强调其独特价值和开放网络原则,支持者则认为其过时且维护成本高。技术讨论集中在替代方案、安全性和行业趋势上。