Комета или Websockets
HTML5 websockets (как упоминалось в других ответах здесь) в настоящее время может иметь ограниченную поддержку браузера, но использование долгоживущих HTTP-соединений для передачи данных (иначе говоря, Comet ) дает вам подобная «потоковая» функциональность, с которой даже IE6 может справиться. Однако реализовать Comet довольно сложно, поскольку это своего рода хак, использующий преимущества того, как браузеры только что были реализованы в то время.
Также обратите внимание, что оба метода потребуют от вашего сервера обрабатывать гораздо больше одновременных соединений, чем раньше, что может быть проблемой, даже если они большую часть времени простаивают. Это иногда называют проблемой C10K .
В этой статье обсуждается websockets vs comet .
Уменьшение размера заголовка
Возможно, вам удастся уменьшить заголовки HTTP до минимума, необходимого для сохранения байтов. Но вам нужно будет сохранить Date
, поскольку это не является обязательным в соответствии со спецификацией ( RFC 2616 ). Возможно, вам также понадобится Content-Length
, чтобы сообщить браузеру размер тела, но, возможно, удастся сбросить его и закрыть соединение после отправки байтов тела, но это помешает браузеру использовать постоянные соединения HTTP / 1.1.
Обратите внимание, что заголовок Server
не требуется, но Apache не позволяет полностью удалить его - директива ServerTokens контролирует это, и самый короткий параметр приводит к Server: Apache
, как у вас уже есть , Я не думаю, что другие веб-серверы обычно позволяют также отбрасывать заголовок Server
, но если вы находитесь на общем хосте, вы, вероятно, застряли с Apache, как настроено вашим провайдером.