У меня есть скрипт, который при доступе по протоколу HTTP отправляет некоторые данные, делает паузу на несколько секунд, а затем отправляет еще несколько данных, повторяя, пока все данные не будут отправлены.
Когда я получаю к нему доступ в curl
, он ведет себя как ожидалось и отправляет данные по частям. Однако, если я пытаюсь получить доступ к странице в браузере, на экране ничего не отображается до тех пор, пока весь скрипт не завершит работу, через несколько секунд.
Вы можете наблюдать это поведение (временно), открыв URL
curl 'http://50.80.82.137:8000'
Затем снова попробуйте URL-адрес в браузере и обратите внимание, что сценарий ждет около 7 секунд, прежде чем загружать что-либо, даже если у него должен быть доступ к первым строкам немедленно.
Каков источник этого поведения?
Он написан на NodeJS, и я поместил его на GitHub для справки. Тем не менее, в этом случае я предполагаю, что используемый язык не имеет значения (именно поэтому я спросил об этом в SuperUser вместо StackOverflow, и любой сценарий, имеющий "паузу" перед отправкой данных, будет вести себя аналогичным образом.