XML has two MIME types,application/xml and text/xml . These are often used interchangeably, but there is a subtle difference which is why application/xml is generally recommended over the latter.
Let me explain why: according to the standard, text/* -MIME types have a us-ascii character set unless otherwise specified in the HTTP headers. This effectively means that any encoding defined in the XML prolog (e.g. <?xml version=”1.0” encoding=”UTF-8”?>) is ignored. This is of course not the expected and desired behaviour.
To further complicate matters, most/all browser implementations actually implement nonstandard behaviour for text/xml because they process the encoding as if it were application/xml .
So, text/* has encoding issues, and is not implemented by browsers in a standards-compliant manner, which is why using application/* is recommended.
对于Webservice的应用来说,我们通常都是用UTF-8进行网络传输,但也有通过GBK和GB2312传输的情况,但是在我们Webservice的代码实现中,其实是不用关心具体的传输编码的,因为根据RFC2376的定义,Webservice的引擎(axis,cxf,jaxws..)会根据文件传输的ContentType及XML 声明部分定义的编码自动将网络传输过来的内容(字符串)转换成unicode(jvm运行时的字符串都是以unicode形式存在的)。以下是RFC2376的描述:
例子1:
webservice传输的文件
- Content-type: application/xml; charset="utf-16"
-
{BOM}<?xml version="1.0"?>
Content-type: application/xml; charset="utf-16"
{BOM}<?xml version="1.0"?>
XML and MIME processors会按照utf-16编码处理该文件
例子2:
webservice传输的文件
- Content-type: application/xml
-
<?xml version='1.0'?>
Content-type: application/xml
<?xml version='1.0'?>
XML processors会按照utf-8编码处理该文件
例子3:
webservice传输的文件
- Content-type: application/xml
-
<?xml version='1.0' encoding="ISO-10646-UCS-4"?>
Content-type: application/xml
<?xml version='1.0' encoding="ISO-10646-UCS-4"?>
XML processors会按照UCS-4编码处理该文件
例子4:
webservice传输的文件
- Content-type: text/xml
-
{BOM}<?xml version="1.0" encoding="utf-16"?>
Content-type: text/xml
{BOM}<?xml version="1.0" encoding="utf-16"?>
XML processors会按照us-ascii,而不是utf-16编码处理该文件
参考文档:
http://www.ietf.org/rfc/rfc2376.txt
相关推荐
同样,在处理XML数据时,可以设置`Content-Type`为`application/xml`或`text/xml`。 ### 4. `Content-Type`与AJAX 在AJAX(Asynchronous JavaScript and XML)请求中,`Content-Type`主要用于指定发送到服务器的...
通常前端通过POST请求向服务器端提交数据格式有4中,分别是”application/x-www-form-urlencoded”格式、” multipart/form-data”格式、”application/json”格式和”text/xml”格式。通常最常见的是”application/...
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # 指定需要压缩的文件类型 ...
// 提交方式 public static String REQUEST_METHOD_POST = "POST... public static String MIME_TYPE_TEXTXML = "text/xml;charset=utf-8"; public static String MIME_TYPE_TEXTPLAIN = "text/plain;charset=utf-8";
在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态、交互性网页的关键技术。它允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。本示例将探讨如何使用AJAX与PHP配合,处理...
C# RestClient组件下载,...application/xml XML application/x-www-form-urlencoded Form表单 text/plain 纯文本 text/xml XML文本 text/html HTML文本 multipart/form-data 用于上传文件 application/xhtml+xml XHTML
2. 调用`parseFromString`方法,传入XML文本和MIME类型(通常为"application/xml"或"text/xml")。 3. 这个方法会返回一个新的`Document`对象,代表了解析后的XML结构。 现在,我们可以将这两部分结合,创建一个...
4. **application/xml 或 text/xml**:XML是另一种数据交换格式,有时用于POST请求,特别是当需要更复杂的数据结构或与非JavaScript客户端交互时。Content-Type设置为`application/xml`或`text/xml`,消息主体是XML...
AJAX(Asynchronous JavaScript and XML)是一种非常流行的Web开发技术,但是它也存在一些问题,其中之一就是阻塞和跨域名访问问题。在本文中,我们将讨论AJAX的阻塞原因和跨域名解决方案。 AJAX阻塞的原因 当我们...
例如,text/xml 就是指服务器端发送来的内容是一个 XML 格式的文档。 9. application/x-x509-ca-cert application/x-x509-ca-cert 是一个专门用于数字证书的 ContentType 类型。例如,application/x-x509-ca-cert ...
- `.xml` = `text/xml` - `.css` = `text/css` - `.js` = `application/x-javascript` 6. **其他文件** - `.zip` = `application/zip` - `.rar` = `application/x-rar-compressed` - `.exe` = `application/x...
36. xml - text/xml 37. dll - application/octet-stream 该对照表总共列出了 37 种文件类型,涵盖了图片、音频、视频、文档、压缩包等多种格式。每种文件类型都对应着一个 MIME 类型,用于标识文件的类型和格式。 ...
- `application/vnd.oasis.opendocument.text`:OpenDocument Text (ODT) 文档 - `application/vnd.oasis.opendocument.spreadsheet`:OpenDocument Spreadsheet (ODS) 表格 - `application/vnd.oasis....
* XML:text/xml * DLL:application/octet-stream 三、文件类型与浏览器兼容性 在 ASP.NET 开发中,文件类型与浏览器兼容性是一个非常重要的问题。不同的浏览器对文件类型的识别方式不同,例如IE和火狐浏览器对...
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 除了服务器配置外,还可以通过构建工具(如Webpack、Gulp或Grunt...
1. 确保正确设置Content-Type为"application/xml"或"text/xml",这样客户端才能识别数据格式。 2. 避免XML注入攻击,对用户输入进行适当的验证和清理。 3. 使用合适的编码,避免XML中的特殊字符引发问题。 4. 考虑...
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 这将开启gzip压缩并指定要压缩的文件类型。 二、PHP编写的gzip...
Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <short xmlns="http://webi.org">short</short>*/ //出参是json格式{"statusCode":"2"}
Web 应用程序技术 ... ... ...* 消息头(Header):包括 Accept、Accept-Language、User-Agent、Host、...表示浏览器支持 text/html、application/xhtml+xml、application/xml 等 MIME 类型,并且优先顺序从左到右排列。
响应 body 的 Content-Type 为 text/xml、text/plain、text/css、application/javascript、app