php - 服务器端使用json返回数据,请问大小的极限是多少?

【字号: 日期:2022-10-26浏览:29作者:雯心

问题描述

我们想在后端查了服务器之后,返回数据量未知的json对象(每一条就是一个笔记数据)给前端。有可能上万条。

请问这样靠一个请求返回可以吗?有没有字符长度限制?多谢

问题解答

回答1:

肯定有的,具体到php的话,php.ini有个most post的限制的,默认最大传输8M的数据,如果转换成字符的话可能就没法计算了,毕竟中文和英文的字符计算方法是有区别的,另外就算不断扩大传输上限,传输的字符还是会超过的,所以请把上万条数据分段传输,就算没超过最大限制,传输的数据越多,相应的速度越慢

回答2:

HTTP response 的大小没有明确的限制.

一般服务器返回给客户端的数据, 如果服务器已知返回内容的大小, 那么可以通过 Content-Length 头来指定.

如果服务器本身也不知道具体返回给客户端的数据大小(例如流式数据), 那么可以使用 Chunked Transfer-Encoding 来标识.

不过服务器端返回大段的 JSON 可不是一个好主意, 会造成客户端解析时间过长, 用户体验不好. 最好的做法是进行数据的分页/分段, 异步方式, 边解析边请求.

回答3:

一个请求返回大量json数据,前端解析的时间也很长,如果不做异步处理可能会线程卡死,最好是分段请求

回答4:

可以,但要考虑两端的能力尤其是服务器端的性能,和传输的稳定性。一般而言这么做是十分不推荐的。

回答5:

不推荐,可以使用分页和ajax来加载

回答6:

反对前面几位混淆了请求跟响应的。下载是没有大小限制的,好像你通过http请求下载一个文件时,是不会说文件大于多少就不能下载的。返回json实际就是响应一个字符节文件。所以,除非你返回过程中,php执行超时了,否则不存在返回大小问题。

相关文章: