Javascript advantage application/x-www-form-urlencoded over application/json

Javascript advantage application/x-www-form-urlencoded over application/json,javascript,json,facebook,http,http-headers,Javascript,Json,Facebook,Http,Http Headers,看看Facebook、Google、Twitter的发帖请求。他们都使用application/x-www-form-urlencoded作为内容类型来发送请求。(例如:当你喜欢Facebook上的状态时) 他们为什么不使用application/json 在生产方面,我注意到application/x-www-form-urlencoded有两个缺点 1) 如果我发送a=false&b=0&c=null。服务器不知道值的原始类型,false,0,null是字符串还是boolean,int,nu

看看Facebook、Google、Twitter的发帖请求。他们都使用
application/x-www-form-urlencoded
作为内容类型来发送请求。(例如:当你喜欢Facebook上的状态时)

他们为什么不使用
application/json

在生产方面,我注意到
application/x-www-form-urlencoded
有两个缺点

1) 如果我发送
a=false&b=0&c=null
。服务器不知道值的原始类型,
false
0
null
是字符串还是
boolean
int
null

2) 如果发送嵌套的JSON。通常,进行解析的服务器模块必须明确知道哪个字段是字符串化的json,并对其进行解析

对于
application/json
,上述两个问题并不存在,因为您只需对周围的数据进行干净的字符串化和解析


那么总体而言,
application/x-www-form-urlencoded
的真正优势是什么?为什么大公司决定不使用
application/json
?谢谢

你问过你提到当前问题的“大公司”吗?没有问,我认为联系起来不容易。我最近遇到的一个大优点是,对于跨来源请求,当你使用application/x-www-form-urlencoded时,浏览器不会发送选项飞行前请求。我不确定这是否是确切的原因。Twitter在发布推文时使用表单数据,但在发布直接消息时使用json。我不知道为什么,但仅供参考: