перезапуск апачского http сервера, не прерывая загрузки http

если мне служили большим загрузкам файла с апачским сервером, есть ли способ перезапустить/перезагрузить http сервер (например, с новым обновлением httpd.conf), не прерывая продолжающиеся загрузки файла? или, по крайней мере, позвольте, чтобы клиенты возобновили загрузки?

5
задан 21 March 2015 в 10:16
1 ответ

Обычная загрузка происходит в одном TCP-соединении, нет «универсального» способа перезапустить apache и поддерживать это единственное соединение.

НО если вы запустите

apachectl -k graceful

или отправите сигнал USR1 вашему главному процессу apache, затем он будет корректно перезагружен, это означает, что он завершит обслуживание текущих запросов, а затем перезагрузится.

На уровне протокола http можно запросить только часть файла.

Клиент может послать на сервер запрос HEAD для данного файла. Если сервер отвечает Accept-Ranges: bytes и заголовком Content-Length , то клиент может перейти к отправке запроса GET , используя Диапазон: байты = ... заголовок для получения той части файла, которую он хочет. Сервер ответит частичным содержанием файла и поместит в свой ответ статус 206.

Известно, что Internet Explorer и Firefox делают это для обычных загрузок, когда вы запрашиваете браузер возобновить загрузку.

7
ответ дан 3 December 2019 в 01:24

Теги

Похожие вопросы