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

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

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

迷茫
迷茫

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

répondre à tous(6)
刘奇

Il doit y en avoir. En ce qui concerne PHP en particulier, php.ini a une limite de la plupart des messages. La transmission maximale de données par défaut est de 8 Mo. S'ils sont convertis en caractères, ils peuvent ne pas être calculés. et méthodes de calcul des caractères anglais Il y a une différence. De plus, même si la limite de transmission est continuellement augmentée, le nombre de caractères transmis sera toujours dépassé, veuillez donc transmettre des dizaines de milliers de données par segments même si la limite maximale n'est pas atteinte. dépassée, plus les données sont transmises, plus la vitesse correspondante sera lente

大家讲道理

Il n'y a pas de limite claire quant à la taille de la réponse HTTP.

  1. Généralement, le serveur renvoie des données au client Si le serveur connaît la taille du contenu renvoyé, elle peut être spécifiée via l'en-tête Content-Length

  2. .
  3. Si le serveur lui-même ne connaît pas la taille spécifique des données renvoyées au client (telles que les données en streaming), elles peuvent être identifiées à l'aide de Chunked Transfer-Encoding.

Cependant, ce n'est pas une bonne idée que le serveur renvoie de gros segments de JSON, car cela mettra trop de temps à analyser le client et l'expérience utilisateur n'est pas bonne. La meilleure façon est de paginer/segmenter. les données, de manière asynchrone, et analysez pendant la requête.

迷茫

Une requête renvoie une grande quantité de données json et le temps d'analyse frontale est également très long Si le traitement asynchrone n'est pas effectué, le thread peut être bloqué. Il est préférable de demander par segments

.
大家讲道理

Oui, mais vous devez considérer les capacités des deux extrémités, notamment les performances du serveur et la stabilité de la transmission. D’une manière générale, cela n’est pas recommandé.

洪涛

Non recommandé, vous pouvez utiliser la pagination et l'ajax pour charger

小葫芦

Je m'oppose aux précédents qui confondaient demandes et réponses.
Il n'y a pas de limite de taille pour le téléchargement. Il semble que lorsque vous téléchargez un fichier via une requête http, il ne sera pas indiqué que le fichier ne peut pas être téléchargé s'il est plus grand que la taille.
Renvoyer json revient en fait à répondre à un fichier d'octets.
Donc, à moins que l'exécution de php n'expire pendant votre processus de retour, il n'y a pas de problème de taille de retour.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal