Транспорт Iframe
AJAX можно реализовать через Iframe. Сейчас имеет смысл только для старых версий IE (7 и ниже). Также для COMET в старых IE (9 и ниже).
Для AJAX схема работы следующая:
1) В родительском окне создаём функцию callbackRegistry, которая будет обрабатывать ответы
2) Динамически создаём Iframe, в качестве src задаём ему адрес запроса на сервере
3) Сервер в качестве контента присылает
<script>parent.callbackRegistry[window.name]({данные});</script>
, что приводит к выполнению callbackRegistry с параметрами в основном окне.
Для COMET сервер в Iframe отдаёт часть документа (например, шапку). При появлении сообщения отгружает <script>parent.callbackRegistry[window.name]({данные});</script>, однако не закрывает документ. Iframe таким образом ждёт своей загрузки, то есть следующего сообщения посредством тега <script>.
Общение окон (родительского и Iframe), у которых в scr прописаны разные домены, возможно.