你的位置:首页 > Java教程

[Java教程]Ajax应用常见的HTTP ContentType设置

文章出处:Ajax应用常见的HTTP ContentType设置

ajax开发中, 常遇到下面的几种情况:

1 服务端需要返回一段普通文本给客户端 
2 服务端需要返回一段HTML代码给客户端 
3 服务端需要返回一段 
4 服务端需要返回一段javascript代码给客户端 
5 服务端需要返回一段json串给客户端

 

对于每一种返回类型,规范的做法是要在服务端指定 response的contentType。
(当然 不指定绝大多数情况下也没什么问题 尤其是返回"非

代码 
    普通文本 : text/plain
    HTML代码 : text/html
    以上三个可以说是毫无争议的, 但是另外两种情况 就要注意一下了. 
javascript 的 contentType 按最标准的写法 应该是 application/javascript. 
而常用的 text/javascript 已经被 rfc定义为废弃的. 
但是,在这里暂时不建议使用 application/javascript
因为很多老旧浏览器并不支持 application/javascript 
而所有浏览器都支持 text/javascript. 
在标准和广泛的兼容性之间 还是暂且选择后者吧.


json 的 contentType 常见写法有: text/json & text/javascript . 
但是 这个 text/json 其实是根本不存在的, 而 text/javascript 在有些时候客户端处理起来会有歧义. 
对于json的contentType , rfc里定义的标准写法是 :application/json.

在这里毫无疑问 我们应该选择标准写法的 application/json

 

最后,附一下ContentType清单:

常用的:

text/plain text/HTMLtext/

 

清单:

 

".*"="application/octet-stream" ".001"="application/x-001" ".301"="application/x-301" ".323"="text/h323" ".906"="application/x-906" ".907"="drawing/907" ".a11"="application/x-a11" ".acp"="audio/x-mei-aac" ".ai"="application/postscript" ".aif"="audio/aiff" ".aifc"="audio/aiff" ".aiff"="audio/aiff" ".anv"="application/x-anv" ".asa"="text/asa" ".asf"="video/x-ms-asf" ".asp"="text/asp" ".asx"="video/x-ms-asf" ".au"="audio/basic" ".avi"="video/avi" ".awf"="application/vnd.adobe.workflow" ".biz"="text/