84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
我们想在后端查了服务器之后,返回数据量未知的json对象(每一条就是一个笔记数据)给前端。有可能上万条。
请问这样靠一个请求返回可以吗?有没有字符长度限制?多谢
业精于勤,荒于嬉;行成于思,毁于随。
肯定有的,具体到php的话,php.ini有个most post的限制的,默认最大传输8M的数据,如果转换成字符的话可能就没法计算了,毕竟中文和英文的字符计算方法是有区别的,另外就算不断扩大传输上限,传输的字符还是会超过的,所以请把上万条数据分段传输,就算没超过最大限制,传输的数据越多,相应的速度越慢
HTTP response 的大小没有明确的限制.
一般服务器返回给客户端的数据, 如果服务器已知返回内容的大小, 那么可以通过 Content-Length 头来指定.
Content-Length
如果服务器本身也不知道具体返回给客户端的数据大小(例如流式数据), 那么可以使用 Chunked Transfer-Encoding 来标识.
不过服务器端返回大段的 JSON 可不是一个好主意, 会造成客户端解析时间过长, 用户体验不好. 最好的做法是进行数据的分页/分段, 异步方式, 边解析边请求.
一个请求返回大量json数据,前端解析的时间也很长,如果不做异步处理可能会线程卡死,最好是分段请求
可以,但要考虑两端的能力尤其是服务器端的性能,和传输的稳定性。一般而言这么做是十分不推荐的。
不推荐,可以使用分页和ajax来加载
反对前面几位混淆了请求跟响应的。下载是没有大小限制的,好像你通过http请求下载一个文件时,是不会说文件大于多少就不能下载的。返回json实际就是响应一个字符节文件。所以,除非你返回过程中,php执行超时了,否则不存在返回大小问题。
肯定有的,具体到php的话,php.ini有个most post的限制的,默认最大传输8M的数据,如果转换成字符的话可能就没法计算了,毕竟中文和英文的字符计算方法是有区别的,另外就算不断扩大传输上限,传输的字符还是会超过的,所以请把上万条数据分段传输,就算没超过最大限制,传输的数据越多,相应的速度越慢
HTTP response 的大小没有明确的限制.
一般服务器返回给客户端的数据, 如果服务器已知返回内容的大小, 那么可以通过
Content-Length
头来指定.如果服务器本身也不知道具体返回给客户端的数据大小(例如流式数据), 那么可以使用 Chunked Transfer-Encoding 来标识.
不过服务器端返回大段的 JSON 可不是一个好主意, 会造成客户端解析时间过长, 用户体验不好. 最好的做法是进行数据的分页/分段, 异步方式, 边解析边请求.
一个请求返回大量json数据,前端解析的时间也很长,如果不做异步处理可能会线程卡死,最好是分段请求
可以,但要考虑两端的能力尤其是服务器端的性能,和传输的稳定性。一般而言这么做是十分不推荐的。
不推荐,可以使用分页和ajax来加载
反对前面几位混淆了请求跟响应的。
下载是没有大小限制的,好像你通过http请求下载一个文件时,是不会说文件大于多少就不能下载的。
返回json实际就是响应一个字符节文件。
所以,除非你返回过程中,php执行超时了,否则不存在返回大小问题。