Heim > Fragen und Antworten > Hauptteil
我们想在后端查了服务器之后,返回数据量未知的json对象(每一条就是一个笔记数据)给前端。有可能上万条。
请问这样靠一个请求返回可以吗?有没有字符长度限制?
多谢
怪我咯2017-04-18 10:56:40
肯定有的,具体到php的话,php.ini有个most post的限制的,默认最大传输8M的数据,如果转换成字符的话可能就没法计算了,毕竟中文和英文的字符计算方法是有区别的,另外就算不断扩大传输上限,传输的字符还是会超过的,所以请把上万条数据分段传输,就算没超过最大限制,传输的数据越多,相应的速度越慢
大家讲道理2017-04-18 10:56:40
HTTP response 的大小没有明确的限制.
一般服务器返回给客户端的数据, 如果服务器已知返回内容的大小, 那么可以通过 Content-Length
头来指定.
如果服务器本身也不知道具体返回给客户端的数据大小(例如流式数据), 那么可以使用 Chunked Transfer-Encoding 来标识.
不过服务器端返回大段的 JSON 可不是一个好主意, 会造成客户端解析时间过长, 用户体验不好. 最好的做法是进行数据的分页/分段, 异步方式, 边解析边请求.
高洛峰2017-04-18 10:56:40
反对前面几位混淆了请求跟响应的。
下载是没有大小限制的,好像你通过http请求下载一个文件时,是不会说文件大于多少就不能下载的。
返回json实际就是响应一个字符节文件。
所以,除非你返回过程中,php执行超时了,否则不存在返回大小问题。