我们使用查询字符串中的大量数据发出http get请求,表示要检索的集合的所有id。
关于url中查询字符串长度的限制,google的快速搜索显示:
rfc 3986还声明没有限制,但表示主机名是
由于DNS限制,限制为255个字符(第2.3.3节)。
微软声明了Internet Explorer中URL的最大长度
是2083个字符,路径中不超过2048个字符
部分网址。2009年5月1日
如果我们不使用ie,我是否应该担心可能超过查询字符串长度的限制?我确信我已经看到node.js express服务器上超出了限制,特别是当我在get请求的查询字符串中包含表示图像的base64字符串时。
解决这个问题的好办法是什么?我们应该改用http post请求吗?当然,我们不想为了避免这个问题而把请求分成1000个部分。

最佳答案

如果您希望保持api的干净和restful,那么可以将请求分成两部分。第一个将把配置发送到服务器进行计算(post);第二个将收集结果(get)。
这种方法除了克服了http get在浏览器、防火墙、路由器等方面的限制外,还有很多优点。例如,以后可以引入部分结果轮询或取消长时间运行的计算。此外,您还可以保持url的简短和用户可读性。
已经描述了实现细节。

10-06 15:41
查看更多