- PVSM.RU - https://www.pvsm.ru -

Баг на миллион долларов

Голландский программист Жак Матти (Jacques Mattheij) — владелец сайта ww.com и один из первых людей, кто организовал прямые трансляции с веб-камер в интернете. Он обращает внимание на баг в HTTP [1], благодаря которому можно заметно ускорить работу множества веб-приложений и обычных веб-сайтов.

HTTP (RFC 1945 [2]) формально является синхронным протоколом. В стандарте чётко прописано, что HTTP-ответ может быть отправлен только после получения соответствующего HTTP-запроса. На практике же всё работает иначе.

На форуме StackOverflow ещё пару лет назад обсуждалась эта тема [3]. Действительно, сайт может выслать HTTP-ответ раньше, чем получил запрос.

Жак Матти пишет, что благодаря эксплуатации этого бага много лет назад ему удалось в десяток раз увеличить фреймрейт при трансляциях с веб-камер. Если следовать спецификациям HTTP, то скорость передачи была в районе 1 FPS, но при использовании асинхронного режима ему удалось повысить скорость до 15 FPS. Все браузеры отлично работают в асинхронном режиме, нарушая спецификации и принимая ответ от сайта до отправки запроса.

Жак говорит, что до сих пор нервничает каждый раз при выходе новых версий браузера, но напрасно: браузеры продолжают работать в обход спецификаций. Более того, новый стандарт SPDY может узаконить такой режим работы.

Автор: alizar

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/veb-razrabotka/61894

Ссылки в тексте:

[1] баг в HTTP: http://jacquesmattheij.com/the-several-million-dollar-bug

[2] RFC 1945: http://www.isi.edu/in-notes/rfc1945.txt

[3] обсуждалась эта тема: https://stackoverflow.com/questions/12292158/http-response-before-request

[4] Источник: http://habrahabr.ru/post/225731/