Я пишу приложение для Google App Engine с Java. Определенный сервлет производит ответы, которые могут превышать лимит в 32 мегабайта. На сервере разработки это, похоже, не вызывает никаких проблем. На рабочем сервере мне нужен способ разделить ответ на несколько запросов.Как определить размер ответа HTTP в Google App Engine
Я хочу знать, что происходит на производственном сервере, когда предел превышен. Оставляет ли PrintWriter
IOException
при превышении лимита? Или это исключение, которое вызывается только при завершении сервлета? В идеале я хотел бы вычислить общий размер ответа до добавления каждого раздела (без учета самих байтов, потому что я не знаю размер заголовков HTTP), так что я могу правильно очистить конец ответ (т.е. добавьте «}» для завершения объекта JSON). Или есть лучший способ справиться с такой ситуацией?
Ограничение на HTTP-запросы и ответы на App Engine было недавно увеличено до 32 МБ. До этого это было 10 МБ в течение некоторого времени. –
Документы говорят 32 МБ для запросов и 10 МБ для ответов. Хотя превышение этого предела менее вероятно, это определенно еще возможно. Поэтому я думаю, что этот вопрос по-прежнему остается в силе. – Zifre
"без учета самих байтов, потому что я не знаю размер заголовков HTTP". Ну, заголовки не будут такими большими, если вы разрешите им 25K, вы должны быть в безопасности. – Thilo