Сообщение от B@rmaley.e><e
|
Но можно останавливать интерпретатор после обработки запроса, а потом запускать заново (обычная схема для, например, php), что связано с некоторыми накладными расходами на инициализацию.
|
Обычная схема для Apache, но не PHP.
Сообщение от B@rmaley.e><e
|
Node.js же постоянно работает, не завершая исполнение после обработки запроса. Точнее так: в ноде есть собственный сервер, который умеет принимать запросы.
|
То же самое и с PHP, но только для PHP в качестве сервера чаще всего используют Apache.
Сообщение от B@rmaley.e><e
|
Вы можете назначить обработчик события нового запроса, в котором обрабатывать его. Где-то в недрах node есть event-loop, который постоянно ждёт новых событий (например, новых запросов) и делегирует их нужному event-listener'у.
|
Все тоже самое можно сделать и в PHP.
Вообще PHP работает по тому же принципу что и Node.JS, но PHP не имеет собственного сервера. Хотя можно запустить демона на PHP и слушать входящие соединения, тем самым обойтись без Apache. Весь функционал для этого в PHP есть и при желании можно PHP использовать в обход сервера Apache. И получится тот же принцип что использует Node.JS.