Куда катится этот мир?
Исследуем инфраструктуру Интернета во всех проявлениях
Публикуем результаты на сайте stat.nic.ru
Мониторинг распространенности веб-технологий — один из свежих проектов
Что, как и зачем
Вкратце
Исследуются российские и зарубежные веб-узлы
Анализируются десятки признаков и показателей
Накапливается и систематизируется интересная статистика
Технология
В основе — робот, «паук» , опрашивающий хосты из заданного списка по протоколу HTTP
Имеет собственный User-Agent
Поведение подробно задокументировано
Обработанные выборки. «Рунет»
Хосты в доменах второго уровня .RU, делегированных и не размещенных на парковках — порядка 3 миллионов × 7 раз
Хосты в делегированных доменах .РФ — 573 тысячи
Хосты в делегированных доменах .SU — 95 тысяч
Обработанные выборки. «Общемировой веб»
Хосты в случайных делегированных доменах .COM — 1 миллион , 3 миллиона
Веб-ресурсы, занимающие верхние позиции в общемировом рейтинге Alexa — 1 миллион × 2 раза
Исследуемые особенности стороны сервера
Доступность хостов по протоколу HTTP
Работоспособность алиасов с и без www.
Наличие индексных HTML -страниц
Наиболее общеупотребительные CMS и их версии
Наиболее популярные веб-серверы и их версии
Исследуемые особенности стороны клиента
Кодировки содержимого
Объемы HTML -кода
Длительности загрузки индексных страниц
Заданные конструкции HTML -кода, соблюдение веб-стандартов
Объекты исследования
HTTP -заголовок сообщения ответа на GET -запрос ресурса /
HTML -код индексной страницы
Коды статуса HTTP -ответов на HEAD -запросы нескольких десятков URL , характерных для различных CMS
Принципы анализа HTML -кода
Простейший tokenizer (как это по-русски?..) последовательно проходит HTML -код и разделяет его на составляющие
Интересные вхождения внутрь этих составляющих детектируются при помощи регулярных выражений
«Всякий раз, когда ты пытаешься парсить HTML регулярными выражениями , сын нечестивый умывается кровью девственниц, и русские хакеры павнят твое веб-приложение»
Пара слов об общей картине
Откликнувшиеся веб-узлы
100%
0%
.RU, 79%
.COM, 67%
Alexa , 86%
Обнаружения одной из популярных CMS
40%
0%
.RU, 29%
.COM, 10%
Alexa , 25%
Популярные CMS , .RU
50%
0%
Популярные CMS , .COM
100%
0%
Популярные CMS , Alexa
100%
0%
Доктайпы и режимы рендеринга
Доктайпы как таковые
100%
0%
.RU, 82%
.COM, 64%
Alexa , 90%
Standards-Mode -доктайпы
100%
0%
.RU, 71%
.COM, 56%
Alexa , 83%
Разновидности доктайпов, .RU
50%
0%
HTML5 , 15%
HTML 4.01 (SM ), 7%
XHTML 1.0 Strict , 10%
XHTML 1.0 Transitional , 37%
XHTML 1.1, 1%
HTML 4.0/4.01 (QM ), 7%
Другой, 4%
Никакой, 18%
Разновидности доктайпов, .COM
50%
0%
HTML5 , 11%
HTML 4.01 (SM ), 8%
XHTML 1.0 Strict , 9%
XHTML 1.0 Transitional , 26%
XHTML 1.1, 1%
HTML 4.0/4.01 (QM ), 5%
Другой, 5%
Никакой, 36%
Разновидности доктайпов, Alexa
50%
0%
HTML5 , 21%
HTML 4.01 (SM ), 6%
XHTML 1.0 Strict , 11%
XHTML 1.0 Transitional , 43%
XHTML 1.1, 1%
HTML 4.0/4.01 (QM ), 4%
Другой, 3%
Никакой, 10%
HTML5 завоевывает планету
Новые структурные элементы HTML5
<article>, <aside>, <audio>, <bdi>, <canvas>, <command>, <datalist>, <details>, <figcaption>, <figure>, <footer>, <header>, <hgroup>, <keygen>, <mark>, <math>, <meter>, <nav>, <output>, <progress>, <rp>, <rt>, <ruby>, <section>, <source>, <summary>, <svg>, <time>, <track>, <video>
Новые структурные элементы HTML5 . Распространенность
15%
0%
.RU, 7%
.COM, 5%
Alexa , 13%
Новые типы полей ввода HTML -форм
Новые атрибуты элемента <input>: autocomplete, dirname, list, max, min, multiple, pattern, placeholder, step
Новые разрешенные значения атрибута type элемента <input>: color, date, datetime, datetime-local, email, month, number, range, search, tel, time, url, week
Новые типы полей ввода HTML -форм. Распространенность
15%
0%
.RU, 4%
.COM, 3%
Alexa , 12%
«Проблемные» конструкции HTML
1. Опротестованные
Объявлены как deprecated в спецификации HTML 4.01 и в итоге упразднены в HTML5
Опротестованные элементы
<applet>, <basefont>, <center>, <dir>, <font>, <isindex>, <strike>
Опротестованные элементы. Распространенность
50%
0%
.RU, 31%
.COM, 19%
Alexa , 33%
Опротестованные атрибуты
align, alink, background, bgcolor, clear, code, color, compact, face, hspace, language, link, noshade, nowrap, object, prompt, text, version, vlink, vspace — без оговорок
border — за исключением случая использования в контексте элемента <table> со значением 1
2. Упраздненные
Не объявлены как deprecated , но в итоге все же исключены из HTML5
Упраздненные элементы
<acronym>, <big>, <tt>
Средняя распространенность — 1%
Упраздненные атрибуты
cellpadding, cellspacing, valign
Средняя распространенность — 36%
3. Реабилитированные
Объявлены как deprecated , но в итоге восстановлены в HTML5 в каком-либо новом качестве
Реабилитированные элементы
<menu>, <s>, <u>
Средняя распространенность — 6%
Реабилитированные атрибуты
start, target — без оговорок
value — в контексте элемента <li>
Средняя распространенность — 57%
4. Фреймовые
Актуальны только в документах типа Frameset и не используются в HTML5
Фреймовые элементы
<frame>, <frameset>, <noframes>
Фреймовые атрибуты
marginheight, marginwidth, noresize, scrolling
Средняя распространенность — 16%
5. Нестандартные
Не описаны ни в одной из официальных спецификаций HTML
Нестандартные элементы
<bgsound>, <blink>, <comment>, <marquee>, <multicol>, <nobr>, <noembed>, <noindex>, <plaintext>, <spacer>, <xmp>
Нестандартные элементы. Распространенность
20%
0%
.RU, 17%
.COM, 2%
Alexa , 8%
Нестандартные атрибуты
bottommargin, leftmargin, rightmargin, topmargin
Средняя распространенность — 6%
6. Легитимизированные
Изначально нестандартные, «узаконены» в HTML5
Легитимизированные элементы
<embed>, <wbr>
Средняя распространенность — 8%
Использование CSS
CSS в любом виде
100%
0%
.RU, 93%
.COM, 63%
Alexa , 95%
Внешние таблицы стилей
100%
0%
.RU, 82%
.COM, 48%
Alexa , 87%
Таблицы стилей внутри HTML -кода
100%
0%
.RU, 39%
.COM, 33%
Alexa , 50%
Inline -стили
100%
0%
.RU, 79%
.COM, 46%
Alexa , 84%
Интересные частности
Метатеги viewport
15%
0%
.RU, 5%
.COM, 8%
Alexa , 13%
Теме посвящен доклад «Прокрустовы окна»
Условные комментарии для IE
50%
0%
.RU, 34%
.COM, 16%
Alexa , 42%
БЭМ -классы
Имена классов, удовлетворяющие регулярному выражению : /^(b|i)-\S+__\S+$/
Речь идет, таким образом, об осторожной оценке снизу
Явление характерно скорее для Рунета
Выявлено 8596 сайтов , использующих БЭМ -классы, в доменах .RU
Кодировка UTF -8
100%
0%
.RU, 50%
.COM, 51%
Alexa , 54%
Концепты сайтов
Современные сайты
Используется доктайп HTML5
Не используется никаких нестандартных с точки зрения HTML5 элементов и атрибутов
Не используются inline -стили
Современные сайты. Распространенность
3%
0%
.RU, 2,6%
.COM, 2,5%
Alexa , 1,8%
Сайты разных эпох, сделанные с оглядкой на стандарты
Используется один из доктайпов : HTML5 , HTML 4.01 Strict , XHTML 1.0 Strict , XHTML +RDFa 1.0, XHTML 1.1
Не используются недопустимые в рамках доктайпа элементы и атрибуты
Сайты разных эпох, сделанные с оглядкой на стандарты. Распространенность
10%
0%
.RU, 8%
.COM, 7%
Alexa , 8%
Сайты темного прошлого
Доктайпа нет , либо он переключает браузер в quirks mode
Используются элементы или атрибуты, объявленные как deprecated в спецификации HTML 4.01 или являющиеся нестандартными
Сайты темного прошлого. Распространенность
40%
0%
.RU, 22%
.COM, 36%
Alexa , 12%
Дальнейшее чтение
«Мониторинг серверных и клиентских веб-решений» — подробнейший отчет о результатах исследований, включающий почти 40 тысяч знаков текста и более 20 диаграмм
Спасибо! Вопросы?
Презентация: lomov.ru/wsd