关于webapi 返回的类型的笔记
2020-12-13 04:11
标签:http 使用 数据 io html re 经过测试发现使用IE浏览器返回的数据是json,而使用Firefox和Chrome返回的则为xml,经研究发现IE在发生http请求时请求头accpet节点相比Firefox和Chrome缺少"application/xml" 类型,由于WebAPI返回数据为xml或json格式,IE没有发送可接受xml和json类型,所以默认为json格式数据,而Firefox和 chrome则发送了可接受xml类型,故返回了xml数据,下面是IE、Firefox和Chrome浏览器的请求头 text/html, application/xhtml+xml, */* text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,*/* text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,*/* 继续进行如下测试 1.只发送accept:application/json,结果返回了json 2.只发送accept:application/xml,结果返回了xml 3.同时发送accept:application/xml,application/json,结果返回了json 4.同时发送accept:application/json,application/xml,结果返回了json 5.修改优先级同时发送application/xml;q=1.0,application/json;q=0.9,结果返回了xml 由此可以得出结论: WebAPI的返回数据类型是有请求头的accept来决定的,默认返回类型为json 详见下表: 关于webapi 返回的类型的笔记,搜素材,soscw.com 关于webapi 返回的类型的笔记 标签:http 使用 数据 io html re 原文地址:http://www.cnblogs.com/rufus-hua/p/3835304.html
浏览器
返回数据格式
accept请求头
IE
json
Firefox
xml
Chrome
xml
1.application/json和application/xml都没有时,返回json数据
2.仅有application/json时,返回json数据
3.仅有application/xml时,返回xml数据
4.同时有application/json和application/json时,返回数据类型和两者的顺序无关,若两者优先级相同则返回json,若优先级不同则返回优先级高的类型
Accept头
返回类型
application/json
json
application/xml
xml
application/xml,application/json
json
application/json,application/xml
json
application/xml;q=1.0,application/json;q=1.0
json
application/xml;q=0.9,application/json;q=0.9
json
application/xml;q=1.0,application/json;q=0.9
xml
application/xml;q=0.9,application/json;q=1.0
json