Действительно ли нажатие Ajax является аберрацией протокола HTTP?

Разработайте изящную архитектуру Паба-Sub в web-oriented-apps, реальная проблема. Хотя существуют некоторые очень интересные решения с помощью длинных соединений опроса (например, Комета) и повторяющиеся тайм-ауты (например, js setTimeout). По моему скромному мнению, нажатие Ajax, все еще бывшее похожее на слой тонких настроек и взломов, вызывающих невинный протокол HTTP.

Таким образом, что Вы думаете, что действительно ли нажатие Ajax является аберрацией протокола HTTP?

Какие альтернативы других Вы могли рассмотреть в веб-архитектуре?

7
задан SDReyes 22 February 2010 в 23:28
поделиться

4 ответа

Другой вариант, который я видел раньше, - это использование небольшого скрытого Java или Flash для соединения через обычные сокеты с удаленным сервером. Затем сервер может передавать данные / события через эти сокеты в любое время, без какого-либо опроса со стороны клиента.

Flash немного лучше IMO, поскольку он не требует подписанного апплета (который выводит предупреждения о безопасности для пользователя). Сокеты в той или иной форме существуют уже около 9 лет, хотя только во Flash 9 / AS3 появились "чистые" сокеты, которые можно использовать для подключения к любому типу сервисов (ранее требовалось, чтобы сообщения завершались "нулевым" пакетом, то есть вам приходилось разрабатывать протокол специально для Flash, вместо того чтобы использовать XMPP, SMTP или любой другой существующий протокол)

.
5
ответ дан 6 December 2019 в 21:13
поделиться

Опрос - это способ веб-архитектуры для pub-sub. Он хорошо работает, когда клиенты опрашивают нечасто, а ответы можно кэшировать и использовать совместно (например, rss-лента блога). Держать открытым tcp-сокет для каждого клиента, как в comet, - не идеальный способ использования http. Однако, если ваше приложение работает в веб-браузере и нуждается в частых, уникальных обновлениях для каждого клиента, это неплохой способ.

Comet и опрос ресурсов для каждого клиента не являются полным отклонением от http или веб - просто http и веб были разработаны специально для обмена одними и теми же ресурсами (т.е. веб-страницами) между многими клиентами, поэтому именно этот способ работает лучше всего.

2
ответ дан 6 December 2019 в 21:13
поделиться

Просто подумайте о наиболее распространенных реализациях Comet, Один тот факт, что вам приходится обманывать браузер, заставляя его думать, что он получает многокомпонентный ответ или бесконечно длинный html внутри iframe, достаточен, чтобы поднять флаг о том, подходит ли эта технология для данной работы или нет.

1
ответ дан 6 December 2019 в 21:13
поделиться

Какие еще альтернативы вы могли бы

HTML 5 Web Sockets API и Server-sent Events выглядят многообещающими в будущем. Поддержка Web Sockets в IE пока отсутствует, а Server-sent Events все еще является экспериментальной. Предложение Дугласа Крокфорда JSONRequest также было бы интересной альтернативой AJAX push, но оно еще не реализовано в современных браузерах.

В настоящее время я буду придерживаться Comet.

4
ответ дан 6 December 2019 в 21:13
поделиться
Другие вопросы по тегам:

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