Рейтинг:0

Поддерживает ли стандарт протокола http длительный опрос?

флаг ua

Недавно я прочитал о концепции длительного опроса, которую можно использовать с http. Я хочу понять, поддерживает ли какой-либо стандарт протокола http сам принцип длительного опроса, так что в зависимости от того, как клиент настраивает http-соединение, сервер может вести себя в режиме короткого или длительного опроса, поэтому некоторые клиенты могут подключаться в режиме короткого опроса, а некоторые клиенты могут подключаться в режиме длительного опроса.

Любой образец кода esp в java был бы полезен.

флаг ng
Это зависит от усмотрения сервера, когда он хочет разорвать соединение. Так что долгое время ожидания опроса в одном приложении может отличаться от другого.
BioLogic avatar
флаг ua
@oligofren: Итак, как клиент узнает, что предыдущее соединение было прервано и ему нужно снова установить соединение с нуля? -- Спасибо.
флаг ng
Когда вы создаете соединение, вы обычно также получаете обработчики событий, связанные с соединением. Обычно такой интерфейс, как `connection.on(eventName, eventHandler)`, позволяет клиенту получать информацию о закрытии/сбросе сокета и т. д. /preserve resources, клиент сразу узнает. Это не на уровне приложения (HTTP), а ниже. Посмотрите сетевые сокеты: https://en.wikipedia.org/wiki/Network_socket
флаг ng
Обратите внимание, что соединение и запрос — это две разные вещи. Одно соединение может обрабатывать несколько запросов в течение длительного периода времени. Долгий опрос касается не соединения, а HTTP-запросов.
Рейтинг:1
флаг us

Длительный опрос означает, что ответ на запрос отправляется не сразу, а только тогда, когда он доступен. HTTP как протокол не предъявляет требований к времени генерации ответа.

Клиент решает, как долго он готов ждать ответа сервера после выполнения HTTP-запроса.

Точно так же HTTP-сервер может отправить ответ в любое время после отправки HTTP-запроса.

Например:

Клиент отправляет HTTP-запрос и ждет ответа в течение 5 минут. Если он не получает ответ в течение пяти минут, время запроса истекает. В сценарии с длительным опросом клиент отправляет еще один HTTP-запрос и так далее.

Соответственно, на стороне сервера цикл обработки запроса считывает HTTP-запрос, а затем ожидает, пока какой-либо объект сгенерирует полезную нагрузку ответа, которую затем отправляет обратно клиенту.

Клиенты не могут контролировать работу серверов. Не существует «длинных запросов на опрос» как конкретного понятия для клиентов.

Есть только HTTP-запросы, где сервер решает, когда отправить ответ, и клиенты, которые решают, как долго они готовы ждать.

BioLogic avatar
флаг ua
Спасибо. Есть ли какой-либо API, который клиент может использовать, чтобы узнать параметры сервера, например: если сервер реализовал длительный опрос, как долго сервер удерживает соединение в среднем и т. д., чтобы клиент мог точно настроить свои параметры для повышения производительности.
флаг us
Я не знаю о таком API. В случаях использования, которые я видел, это просто неявный контракт между клиентом и сервером.
BioLogic avatar
флаг ua
Не могли бы вы взглянуть на мой другой вопрос на этом форуме. Я новичок на этом форуме. Благодаря тонну!
флаг ng
@BioLogic Не забудьте принять ответ, если он отвечает на ваш вопрос.
Рейтинг:0
флаг ng

Нет такой вещи, как долгий опрос в HTTP. Долгий опрос – это умное (ab) использование HTTP, а не особенность HTTP.

Поскольку HTTP ничего не знает о длинных опросах, не может быть стандартного способа проверки поддержки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.