Что было: iframe, img.src= (это без понятного скрипту результата, но со вполне понятной пользователю иконкой), куки (а дальше любой запрос туда-обратно).
Победил тогда iframe. Из-за возможности передачи данных большим куском. На изгаженную историю посещений было наплевать.
Из фишечек - фирменный escape, нераздувающий текст как CGЁвый (особенно юникод), обязательная обработка ошибок и (отключаемый, но по умолчанию включенный) перезапрос при ошибке. Туда - же объединение кучи запросов в один (хотя делалось и на другом уровне) - для борьбы с умножением излишних http-заголовков которые весят иногда не меньше самих данных.
----
Потом было типа затишье, сеть быстрая, особой потребности в асинхронной загрузке не было. А сейчас - мобильные аппараты, нетбуки и всё это через GPRS/WIFI, связь то есть, то нет, канал нетолстый а то ещё и с тарификацией по объёму. Снова актуально. Особенно чтоб данных передавалось поменьше и в случае каких ошибок можно было восстановиться.
То ли вспомнить кое-что из старого и заточить под новые реалии...