为了解决浏览器/服务器对url长度限制的问题,因此可以采用application/x-www-form-urlencoded或者application/json以及multipart/form-data这三种形式来处理请求实体,也就是通过添加请求头Request Header来告诉服务器应该用对应的方法去处理请求实体。
那么问题来了,较大的资源,比如图片、音视频为什么要用multipart/form-data呢?
这里先分清一下通用的这几种请求实体类型:
application/x-www-form-urlencoded => a=1&b=2 => url编码 => a%3D1%26b%3D2
application/json => JSON.stringify({a: 1, b: 2})
multipart/form-data => 采用boundary分隔符分隔,不需要对实体内容进行编码,也控制了发送实体的大小