javascript:uri编码json使post数据变得更大.可供替代的
javascript: uri encoding json makes post data much bigger. Alternative?
我发布了大量数据。出于性能原因,我需要这个尽可能小。
我的数据一开始是JS对象。然后我使用json字符串化它。然后我把它邮寄出去。
问题是,我有很多objects:lists [] and dict {}
和短文本,它们被json放在""
的引号中。
然后在发布之前对这些进行uri编码。我不这么做;浏览器会这样做。当我查看请求正文时,我可以看到结果。
因此,现在每个[, {,
和""
都是uri编码的,这意味着我的字符串变得更长了。事实上,如果我比较
alert( JSON_local.stringify(myStuff).length);
alert(encodeURI(JSON_local.stringify(myStuff).length);
uri编码的字符串要大50%。当绳子开始变大的时候,它会大很多。
我是不是遗漏了什么?json是标准的,但它似乎对我有负面影响。有没有使用json的替代方案?还是我在这里做错了什么?数据也必须以uri编码的形式发送,不是吗?
数据总是必须以uri编码的形式发送,不是吗?
不是这样。这取决于您发送的内容类型。
如果发送时使用x-www-form-urlencoded
内容类型,则需要对数据进行编码。例如,如果你使用multipart/form-data
,你就不需要了。这里已经详细讨论了这一点。对于大量的数据,我看不出有任何真正的理由使用x-www-form-urlencoded。
当然,它不仅仅是更改内容类型,还需要提供mime边界。然而,在我看来,这对你来说确实更有效率。从…起http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4:
内容类型"application/x-www-form-urlencoded"效率低下用于发送大量二进制数据或包含非ASCII字符。内容类型"多部分/表单数据"应为用于提交包含文件、非ASCII数据和二进制数据。
- PHP(PDO)url编码如何在javascript中解码?decodeURI?或解码URI组件
- 为什么URI编码('#')锚导致404,以及如何在JS中处理它
- 未定义编码 URI 组件
- 扩展编码URI文档,例如从编码中跳过某些值
- 自定义共享图标 - 获取URL,编码uri和替换
- 为什么在尝试在 javascript 中对 URI 组件的保留字符进行编码时出现空白 %3 字符
- ODataModel v2 中的 URI 编码
- 对 URI 组件非 utf-8 字符进行编码并相应地解码它们的正确方法是什么
- 处理差异,在编码 URI 部分时使用 c# 和 JavaScript 方法
- 如何动态应用 base64 编码的数据 uri
- 如何正确解码 PHP 中编码的 URI 的 JavaScript
- 对下载的 S3 映像的 URI 进行编码
- 编码URI协调双引号过程
- javascript:uri编码json使post数据变得更大.可供替代的
- 将 JavaScript 对象转换为 URI 编码的字符串
- 编码URI(空格等)而不编码非ASCII字符
- window.history.pushState uri编码不一致
- 编码 uri 组件,不自动解码
- 编码URI时丢失的时间变量
- 为RESTful服务编码URI