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

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

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

迷茫
迷茫

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

全部回覆(6)
刘奇

肯定有的,具體到php的話,php.ini有個most post的限制的,默認最大傳輸8M的數據,如果轉換成字符的話可能就沒法計算了,畢竟中文和英文的字符計算方法是有差別的,另外就算不斷擴大傳輸上限,傳輸的字元還是會超過的,所以請把上萬條資料分段傳輸,就算沒超過最大限制,傳輸的資料越多,對應的速度越慢

大家讲道理

HTTP response 的大小沒有明確的限制.

  1. 一般伺服器傳回給客戶端的資料, 如果伺服器已知回傳內容的大小, 那麼可以透過 Content-Length 頭來指定.

  2. 如果伺服器本身也不知道具體傳回給客戶端的資料大小(例如串流資料), 那麼可以使用 Chunked Transfer-Encoding 來識別.

不過伺服器端回傳大段的JSON 可不是一個好主意, 會造成客戶端解析時間過長, 用戶體驗不好. 最好的做法是進行數據的分頁/分段, 異步方式, 邊解析邊請求.

迷茫

一個請求返回大量json數據,前端解析的時間也很長,如果不做異步處理可能會線程卡死,最好是分段請求

大家讲道理

可以,但要考慮兩端的能力尤其是伺服器端的效能,和傳輸的穩定性。一般而言這麼做是十分不推薦的。

洪涛

不推薦,可以使用分頁和ajax來載入

小葫芦

反對前面幾位混淆了請求跟響應的。
下載是沒有大小限制的,好像你透過http請求下載一個檔案時,是不會說檔案大於多少就不能下載的。
回傳json實際上就是回應一個字元節檔。
所以,除非你回到過程中,php執行逾時了,否則不存在回傳大小問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!