Firefox中application/xml响应丢失XML结构仅显示扁平化文本问题
回答
问题根因
你的HTTP响应头字符集声明不符合HTTP规范,是触发异常的核心原因。
HTTP标准中不存在独立的Charset响应头,字符集参数必须内嵌在Content-Type头的值中,你当前的写法不符合规范:
# 错误写法 Content-Type: application/xml Charset: utf-8
正确的声明方式如下:
# 正确写法 Content-Type: application/xml; charset=utf-8
原理说明
- Firefox对XML内容的渲染校验逻辑更严格,只有响应头完全符合规范时,才会触发XML结构化渲染(展示完整标签、支持节点折叠),否则会将XML识别为无样式的纯文本,仅提取所有标签内的文本拼接展示,和你遇到的现象完全匹配。
- Firefox对
application/json类型内容的解析容错性更高,所以即便字符集声明不规范也能正常格式化渲染,这就是JSON返回正常、XML异常的原因。
修复方案
修改测试服务端的响应头逻辑,删除独立的Charset头,将字符集参数添加到Content-Type头的末尾即可解决问题。
内容的提问来源于stack exchange,提问作者U. Windl
相关产品推荐
相关产品推荐

