php - 服务器端使用json返回数据,请问大小的极限是多少?
迷茫
迷茫 2017-04-18 10:54:40
0
6
1330

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

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(6)
刘奇

물론 PHP의 경우 php.ini의 경우 최대 전송 한도가 기본적으로 8M이므로 결국 계산되지 않을 수도 있습니다. 한자와 영문 문자 계산 방법에 차이가 있습니다. 또한, 전송 한도를 지속적으로 늘려도 전송되는 문자 수는 여전히 초과되므로 최대 한도인 경우에도 수만 개의 데이터를 전송하십시오. 초과하지 않으면 더 많은 데이터가 전송될수록 해당 속도는 느려집니다

大家讲道理

HTTP 응답 크기에는 명확한 제한이 없습니다.

  1. 일반적으로 서버는 클라이언트에 데이터를 반환합니다. 서버가 반환된 콘텐츠의 크기를 알고 있는 경우 Content-Length

    헤더를 통해 지정할 수 있습니다.
  2. 클라이언트에 반환되는 데이터(예: 스트리밍 데이터)의 구체적인 크기를 서버 자체에서 알 수 없는 경우에는 Chunked Transfer-Encoding을 사용하여 식별할 수 있습니다.

그러나 서버가 JSON의 큰 세그먼트를 반환하는 것은 좋은 생각이 아닙니다. 이로 인해 클라이언트가 구문 분석하는 데 너무 오랜 시간이 걸리고 사용자 경험이 좋지 않습니다. 요청하는 동안 데이터를 비동기식으로 분석하고 구문 분석합니다.

迷茫

요청은 많은 양의 json 데이터를 반환하며 프런트엔드 구문 분석 시간도 매우 깁니다. 비동기 처리가 수행되지 않으면 스레드가 중단될 수 있습니다

大家讲道理

그렇습니다. 하지만 양쪽 끝의 성능, 특히 서버의 성능과 전송의 안정성을 고려해야 합니다. 일반적으로 이는 권장되지 않습니다.

洪涛

권장되지 않습니다. 페이징과 Ajax를 사용하여 로드할 수 있습니다

小葫芦

요청과 응답을 혼동하신 기존 분들께 이의를 제기합니다.
다운로드에는 크기 제한이 없는 것 같습니다. http 요청을 통해 파일을 다운로드할 때 해당 크기보다 크면 파일을 다운로드할 수 없다고 표시되지 않는 것 같습니다.
json을 반환하는 것은 실제로 바이트 파일에 응답하는 것입니다.
따라서 반환 프로세스 중에 PHP 실행 시간이 초과되지 않는 한 반환 크기 문제는 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿