Философски, почему нельзя разбить двоичные данные? Т.е. почему мы не можем скомпилировать HTML для Интернета?

Учитывая огромные усилия, чтобы сделать Интернет максимально эффективным, почему HTML (и все другие простые текстовые файлы, например CSS, JavaScript) не могут быть скомпилированы в один ресурс и отправлены по кабелю? (Я знаю . Chm files - это в соответствии с этой концепцией).

Я понимаю открытую природу Интернета - усилие, которое я поддерживаю, но можно представить себе открытую спецификацию, которая требует, чтобы несколько ресурсов скомпилировались в двоичные. Спецификацию может потребовать использование пользовательского агента (это позволяет отдельным пользователям просматривать DOM и т.д.).

Наверное, я просто удивлен, учитывая усилия, предпринимаемые в других областях, мы все еще полагаемся на простой текст, чтобы продвигать страницы, или я просто переоцениваю сбережения, которые предоставил бы двоичный формат?

Ответ 1

Важным фактором для развития Интернета является расширяемость веб-языков. Поставщики браузеров могут поддерживать больше функциональности, чем требуется стандартами. Хотя это всегда было проблемой для разработчиков, это помогло продвижению в Интернете.

Скомпилировав веб-страницы, вы ограничите возможности набора, поддерживаемого компилятором. Невозможно было бы использовать какие-либо новые функции в любом браузере, пока компилятор не доберется до разработки. Это замедлит развитие сети.

Ответ 2

Часто веб- "текстовые" активы (HTML, CSS, JavaScript, XML, JSON) являются "двоичными" , поскольку они обслуживаются GZIPped: http://duckduckgo.com/?q=gzip+files+server Трудно получить больше оптимизма, чем это; который может быть прочитан человеком, хотя он очень сжат.

Ответ 3

Были попытки сделать это - см. WBXML. Однако проблема возникает, когда кто-то пытается расширить определение XML - соответствует ли идентификатор 35 расширению Microsoft <foo> или netscape <bar> ?

Также намного сложнее прочитать двоичный файл, когда вы пытаетесь определить, какой бит HTML вы ошибаетесь.

Основная проблема с размером данных была решена с помощью gziping данных, прежде чем он покинет веб-сервер.