使用JSON主体的HTTP GET请求是否有大小限制?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JSON主体的HTTP GET请求是否有大小限制?相关的知识,希望对你有一定的参考价值。

我从ios应用程序调用php REST API来从mysql数据库中检索数据。我想知道我可以通过HTTP GET请求接收的数据量是否有大小限制,因为它被序列化为JSON。

答案

使用JSON主体的HTTP GET请求是否有大小限制?

不,HTTP中没有大小限制,但在其他地方可能存在限制。

HTTP响应主体可能具有任意大小,但有几个其他因素可能会强制执行硬限制:

  • 在您的具体情况下,PHP本身。 PHP有一个名为memory_limit的配置变量,它对PHP进程施加了限制。
  • 你的物理记忆。发送JSON的问题在于,除非您有一个非常特殊的设置并且正在传输响应,否则整个JSON有效负载需要缓冲在服务器的内存中(以及查询中的结果行!)。

在实践中,memory_limit将是你将要达到的第一个限制。通常建议在SQL查询中使用LIMIT并对响应进行分页。例如,发送1 MiB的JSON通常不是一个好主意。

另一答案

我相信JSON请求没有大小限制。但是,任何直接限制都可以通过服务器解析请求来引起或设置。因此,有可能认为MySQL DB本身可能有一些。希望这可以帮助!

以上是关于使用JSON主体的HTTP GET请求是否有大小限制?的主要内容,如果未能解决你的问题,请参考以下文章

HTTP请求主体

如何调用http接口获取json数据及GET/POST方式调用http接口

如何使用带有表单数据主体而不是 json 主体的 http 'POST'? (Angular2/打字稿)

前端面试题整理—HTTP篇

HTTP要点概述:四,HTTP方法

http请求报文