Голландский программист Жак Матти (Jacques Mattheij) — владелец сайта ww.com и один из первых людей, кто организовал прямые трансляции с веб-камер в интернете. Он обращает внимание на баг в HTTP, благодаря которому можно заметно ускорить работу множества веб-приложений и обычных веб-сайтов.
HTTP (RFC 1945) формально является синхронным протоколом. В стандарте чётко прописано, что HTTP-ответ может быть отправлен только после получения соответствующего HTTP-запроса. На практике же всё работает иначе.
На форуме StackOverflow ещё пару лет назад обсуждалась эта тема. Действительно, сайт может выслать HTTP-ответ раньше, чем получил запрос.
Жак Матти пишет, что благодаря эксплуатации этого бага много лет назад ему удалось в десяток раз увеличить фреймрейт при трансляциях с веб-камер. Если следовать спецификациям HTTP, то скорость передачи была в районе 1 FPS, но при использовании асинхронного режима ему удалось повысить скорость до 15 FPS. Все браузеры отлично работают в асинхронном режиме, нарушая спецификации и принимая ответ от сайта до отправки запроса.
Жак говорит, что до сих пор нервничает каждый раз при выходе новых версий браузера, но напрасно: браузеры продолжают работать в обход спецификаций. Более того, новый стандарт SPDY может узаконить такой режим работы.
P.S. Матти заработал не один миллион долларов, используя этот баг, который он обнаружил раньше конкурентов.
HTTP (RFC 1945) формально является синхронным протоколом. В стандарте чётко прописано, что HTTP-ответ может быть отправлен только после получения соответствующего HTTP-запроса. На практике же всё работает иначе.
На форуме StackOverflow ещё пару лет назад обсуждалась эта тема. Действительно, сайт может выслать HTTP-ответ раньше, чем получил запрос.
Жак Матти пишет, что благодаря эксплуатации этого бага много лет назад ему удалось в десяток раз увеличить фреймрейт при трансляциях с веб-камер. Если следовать спецификациям HTTP, то скорость передачи была в районе 1 FPS, но при использовании асинхронного режима ему удалось повысить скорость до 15 FPS. Все браузеры отлично работают в асинхронном режиме, нарушая спецификации и принимая ответ от сайта до отправки запроса.
Жак говорит, что до сих пор нервничает каждый раз при выходе новых версий браузера, но напрасно: браузеры продолжают работать в обход спецификаций. Более того, новый стандарт SPDY может узаконить такой режим работы.
P.S. Матти заработал не один миллион долларов, используя этот баг, который он обнаружил раньше конкурентов.