查看Facebook,Google,Twitter的POST请求。他们都使用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
,{{ 1}}。
2)如果发送嵌套的JSON。通常,执行解析的服务器模块必须明确知道哪个字段是字符串化的json,并解析它。
上述两个问题对于null
并不存在,因为您只是干净地对字符串进行整理和解析。
总的来说,application/json
的真正优势是什么,为什么大公司决定不使用application/x-www-form-urlencoded
?谢谢!