Какой смысл в такой структуре, как slim3, отправлять тело ответа маленькими кусочками?
Я читаю тонкие 3 документа и обнаружил, что он читает / отправляет основной текст ответа кусками по 4096 байт:
responseChunkSize Размер каждого чанка, прочитанного из тела ответа при отправке в браузер. По умолчанию: 4096
Какой смысл делать это так? Не лучше ли сразу отправить тело ответа? Будет ли это означать небольшие накладные расходы?
1 ответ
Во время отправки ответа в браузер клиента длина содержимого тела ответа может быть или не быть доступной.
В обоих случаях, responseChunkSize
Настройки используются как количество байтов, которые нужно прочитать из тела, пока оно не достигнет конца файла. Если длина контента известна и она меньше или равна responseChunkSize
, тогда требуется только одна итерация для чтения содержимого тела.
Читая и выводя ответ меньшим порцией, браузер не ждет слишком долго, чтобы получить первый байт. Чтение большого чанка происходит медленнее и может потребовать большего потребления памяти, поэтому браузер, вероятно, получит первый байт длиннее, чем меньший чанк.