2014-01-03 1 views
1

У меня есть код PHP на моем сервере, который говорит с моей базой данных PostgreSQL. Мое приложение iPhone общается с PHP через HTTP GET/PUTs/POST (это работает только на мобильных устройствах, а не через браузеры). Мне нужно вернуть большой результат JSON из запроса базы данных. Результаты запроса будут динамическими, поэтому один пользователь не обязательно получит тот же ответ, что и другой. Я не уверен в точных размерах на данный момент, но я бы рискнул предположить, что это, вероятно, будет до 1 МБ или около того. Поэтому у меня есть два вопроса:Как обработать возврат большого объекта JSON в PHP через HTTP GET?

  1. Могу ли я вернуть довольно большую строку JSON в PHP в ответ на запрос HTTP GET?
  2. Максимальный или максимальный максимальный размер, который должен быть возвращен через HTTP GET?
  3. Если я могу сделать # 1, то остальное спорно. Если, однако, это либо невозможно, либо не очень хорошая идея, каким будет альтернативный способ получить эти данные для клиента?

Спасибо!

ответ

2

PHP может возвращать мегабайты данных, без проблем. Пока сервер, клиент и сеть готовы обрабатывать передачу, для данных, возвращаемых HTTP GET, нет ограничения по размеру. 1Mb не должно быть проблемой, если клиент (телефон) находится на разумном сетевом соединении.

ГЭТ запрос сам has a size limit из нескольких килобайт или около того, но ответ не имеет таких ограничений.

Продолжайте и получайте удовольствие!

+1

Для наглядности GET на самом деле не имеет кепки, но максимальная длина URL будет удалена, ее обычно ~ 1600 символов в зависимости от настроек сервера. –

+0

@ siva.k: Пока мы говорим о запросе *, да. Вопрос в том, что касается * ответа *, поэтому проблем не должно быть. – grebneke

+0

Я прочитал вопрос назад вчера вечером * лицо ладонь * –