HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: java, http, сервер, ajax, long polling, websockets, веб-сервер, нотификация пользователя</p>
1 <p>Теги: java, http, сервер, ajax, long polling, websockets, веб-сервер, нотификация пользователя</p>
2 <p>Да, довольно провокационный вопрос. Ведь есть разработчики сервера, есть серверные приложения, есть курсы по серверной разработке. А сам предмет разработки это что?</p>
2 <p>Да, довольно провокационный вопрос. Ведь есть разработчики сервера, есть серверные приложения, есть курсы по серверной разработке. А сам предмет разработки это что?</p>
3 <p>Понятие слишком обширное и интуитивно понятное всем, кто с ним сталкивался. И всё-таки, если попробовать дать определение серверу, то должно получиться что-то такое:</p>
3 <p>Понятие слишком обширное и интуитивно понятное всем, кто с ним сталкивался. И всё-таки, если попробовать дать определение серверу, то должно получиться что-то такое:</p>
4 <p><em>"Сервер - это система программ, которая отвечает на запросы".</em></p>
4 <p><em>"Сервер - это система программ, которая отвечает на запросы".</em></p>
5 <p>То есть, нет сервера без запросов и ответов. Клиенты посылают серверу запросы, сервер что-то в себе читает, вычисляет или меняет и возвращает клиентам ответы.</p>
5 <p>То есть, нет сервера без запросов и ответов. Клиенты посылают серверу запросы, сервер что-то в себе читает, вычисляет или меняет и возвращает клиентам ответы.</p>
6 <p><strong>Может ли сервер посылать запросы клиенту?</strong>В общем случае, может. Нотификация пользователя о событиях на сервере неотъемлемая часть, например, любого игрового сервера. Пользователь должен своевременно узнать о том, что ему в голову пришло… копье противника. И отрисовать красиво это событие. Сервер должен сам уведомить клиента о событии, не дожидаясь запроса от клиента.</p>
6 <p><strong>Может ли сервер посылать запросы клиенту?</strong>В общем случае, может. Нотификация пользователя о событиях на сервере неотъемлемая часть, например, любого игрового сервера. Пользователь должен своевременно узнать о том, что ему в голову пришло… копье противника. И отрисовать красиво это событие. Сервер должен сам уведомить клиента о событии, не дожидаясь запроса от клиента.</p>
7 <h2>Теперь рассмотрим веб-сервер: что это такое?</h2>
7 <h2>Теперь рассмотрим веб-сервер: что это такое?</h2>
8 <p>Очевидно это сервер, определение которому мы уже дали выше. Но что значит приставка "веб"? К счастью для нас, это понятие уже не такое абстрактное, как сервер, и у него есть<a>определение на Wikipedia</a>.</p>
8 <p>Очевидно это сервер, определение которому мы уже дали выше. Но что значит приставка "веб"? К счастью для нас, это понятие уже не такое абстрактное, как сервер, и у него есть<a>определение на Wikipedia</a>.</p>
9 <p><em>"Веб-сервер - сервер, который обрабатывает запросы по протоколу<strong>HTTP</strong>".</em></p>
9 <p><em>"Веб-сервер - сервер, который обрабатывает запросы по протоколу<strong>HTTP</strong>".</em></p>
10 <p>Ответы, очевидно, тоже отправляет по этому же протоколу. Если вы пишите клиент-серверное приложение, в котором клиент это браузер, а сервер это… веб-сервер. То протокол общения между ними определён.</p>
10 <p>Ответы, очевидно, тоже отправляет по этому же протоколу. Если вы пишите клиент-серверное приложение, в котором клиент это браузер, а сервер это… веб-сервер. То протокол общения между ними определён.</p>
11 <p>Может ли веб-сервер уведомить клиента о событии? Нет. Протокол не позволяет это сделать. Веб-сервер может только отвечать на запросы. Нет запросов, нет ответов.</p>
11 <p>Может ли веб-сервер уведомить клиента о событии? Нет. Протокол не позволяет это сделать. Веб-сервер может только отвечать на запросы. Нет запросов, нет ответов.</p>
12 <p><strong>Как же быть разработчику браузерных игр?</strong>Без уведомления клиента динамические игры невозможны. Обмануть протокол? Да, это можно сделать. Можно продолжать использовать<strong>HTTP</strong>, но "подписать" клиент на события на сервере. Названия подходов и технологий здесь:<strong>ajax</strong>,<strong>long polling</strong>или<strong>websockets</strong>.<strong>WebSockets</strong>, правда, уже не<strong>HTTP</strong>, но это предмет уже следующей заметки.</p>
12 <p><strong>Как же быть разработчику браузерных игр?</strong>Без уведомления клиента динамические игры невозможны. Обмануть протокол? Да, это можно сделать. Можно продолжать использовать<strong>HTTP</strong>, но "подписать" клиент на события на сервере. Названия подходов и технологий здесь:<strong>ajax</strong>,<strong>long polling</strong>или<strong>websockets</strong>.<strong>WebSockets</strong>, правда, уже не<strong>HTTP</strong>, но это предмет уже следующей заметки.</p>
13 <p><em>Есть вопрос? Напишите в комментариях!</em></p>
13 <p><em>Есть вопрос? Напишите в комментариях!</em></p>
14  
14