Какой смысл в такой структуре, как slim3, отправлять тело ответа маленькими кусочками?

Я читаю тонкие 3 документа и обнаружил, что он читает / отправляет основной текст ответа кусками по 4096 байт:

responseChunkSize Размер каждого чанка, прочитанного из тела ответа при отправке в браузер. По умолчанию: 4096

Какой смысл делать это так? Не лучше ли сразу отправить тело ответа? Будет ли это означать небольшие накладные расходы?

1 ответ

Решение

Во время отправки ответа в браузер клиента длина содержимого тела ответа может быть или не быть доступной.

В обоих случаях, responseChunkSize Настройки используются как количество байтов, которые нужно прочитать из тела, пока оно не достигнет конца файла. Если длина контента известна и она меньше или равна responseChunkSize, тогда требуется только одна итерация для чтения содержимого тела.

Читая и выводя ответ меньшим порцией, браузер не ждет слишком долго, чтобы получить первый байт. Чтение большого чанка происходит медленнее и может потребовать большего потребления памяти, поэтому браузер, вероятно, получит первый байт длиннее, чем меньший чанк.

Другие вопросы по тегам