История World Wide Web Часть III: современный веб и веб-технологии

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




 

Высокие нагрузки, асинхронность и безопасность

В начале 00-х произошло множество важных событий, предопределивших парадигму развития веба на многие годы вперёд:

  • появились системы управлением контентом (CMS) Drupal, WordPress, Joomla
  • в широкий обиход вошли веб-Apache, Nginx и IIS
  • появился «асинхронный JavaScript и XML» — AJAX
  • появилась защищенная версия HTTP — HTTPS
  • разработчики сайтов стали разделяться на бэкенд- и фронтенд-разработчиков
  • стала утверждаться концепция веб-приложений.

Надо сказать, что CMS, так же как и веб-фреймворки — это не самостоятельные программные продукты, а наборы скриптов и конфигурационных файлов, исполняемые серверными языками, такими как PHP, GO, Ruby, Python.

Например, Drupal, WordPress и Joomla — CMS написанные на PHP и без установленного на сервере PHP работать не будут. А Django написан на Python, поэтому для его работы нужен установленный на сервере Python, а не PHP.

Сильнее всего на развитие дальнейшего веба повлияла концепция веб-приложений. Что такое веб-приложение? Веб-приложение — это веб-сайт с частично или полностью несформированным содержимом и куда более сложной бизнес-логикой, разделённой между фронтендом и бэкендом.

Еще одной сильной стороной новой концепции была возможность идентифицировать пользователей и подстраивать контент под условия запроса браузера (клиента). Динамическое обновление контента и подстройка содержимого веб-приложений осуществляется с помощью AJAX (Asynchronous Javascript and XML, «асинхронный JavaScript и XML»).

AJAX не самостоятельная технология, а концепция, использующая одновременно динамическое обращение к серверу «на лету» без перезагрузки страниц и DHTML для динамического изменения содержания страницы.

AJAX позволяет:

  • Сократить объём трафика между сервером и клиентом благодаря догрузке только изменённых элементов, а не перезагрузке всей страницы.
  • Уменьшить нагрузку на сервер благодаря динамической генерации страниц по шаблонам, включая неизменяемые элементы («хедер»,«футер», «навигация» и т.п.).
  • Ускорить реакцию интерфейса, так как догружаться будут только отдельные элементы, а не вся страница целиком.

Яркими примерами веб-приложений являются: поисковики (Google и Yandex), социальные сети (VK, Одноклассники и т.п.), сайты банков, порталы услуг (Госуслуги) и прочие сайты, работающие с запросами и данными пользователей.

Google, Yandex, Facebook, VK

С появлением веб-приложений, работающих с данными пользователей (персональными и банковскими) появилась опасность кражи информации путем перехвата трафика между веб-приложением (сервером) и браузером (клиентом).

Справиться с этой проблемой помогает технология защищенного HTTP-соединения — HTTPS. Это не самостоятельный протокол, а расширение HTTP-протокола для шифрования трафика с целью повышения безопасности. Данные шифруются с помощью криптографических протоколов TLS и SSL. Они поставляются в формате SSL-сертификатов, которые выдаются специализированными центрами сертификации.

Наряду с развитием веб-технологий развивались и средства доступа к вебу — десктопные и мобильные браузеры. Курс на активную разработку десктопных и мобильных браузеров был взят в начале 2007 года с выходом Iphone, появлением мобильного браузера Safari и десктопной версии Google Chrome в 2008 году.

Old School Safari

На старте Safari произвел эффект разорвавшейся бомбы, не благодаря маркетингу Apple, а новым технологиям, которые “яблочные” инженеры разработали и реализовали.

В свою очередь десктопные браузеры тоже не стояли на месте. Например, Google Chrome из коробки предлагал несколько уникальных фич, которые в будущем переняли почти все веб-браузеры:

  • одновременная работа в нескольких окнах
  • создание множества вкладок и быстрый переход между ними
  • работа в режиме «инкогнито»
  • автосохранение паролей.
Google Chrome Old School

Хрому было что предложить не только рядовым пользователям веба, а также и разработчикам — это панель разработчика (Chrome Developer Tools). Панель позволила проводить быстрый JS-дебагинг и проверять адаптивность верстки. Вскоре к Хрому подтянулись Opera, Firefox, Safari, Edge. Все эти браузеры обладали схожими возможностями и обладали ещё одним важным свойством для развития веба — они активно начали работать с куками.

Куки (cookie) — это небольшие фрагменты данных, отправленные веб-сервером браузеру, и хранимые им на устройстве клиента.

Именно по данным в клиентских куках веб-серверы идентифицируют клиентов.

К 2010 году появилось значительное количество фронтенд- и бэкенд-технологий, которые способствовали развитию веба на рубеже 2000 — 2010 года:

  • 2003 — Python нацеливается захватить веб-производство через фреймворк Django.
  • 2005 — миру явился фреймворк Ruby on Rails. Фреймворк ускорил разработку бэкенд части приложений в разы.
  • 2008 — вышел PHP-фреймворк Yii, предназначенных для разработки больших веб-приложений на PHP.
  • 2009 — появился великий Node.js, который позволил работать с JS в серверной среде.
  • 2009 — выходит новый стандарт JavaScript — ECMAScript 5. Новый стандарт позволил сделать огромный скачок в области фронтенда и стал базой для появления множества JS-фреймворков.
  • 2010 — Google представляет миру AngularJS — JS-фреймворк, включающий в себя не только готовые каркасы приложений, но и средства тестирования.

В итоге к 2010 году веб был готов к очередному этапу развития — этапу веб-приложений и SaaS-сервисов и услуг.

SaaS — быстро, просто и понятно

SaaS — быстро, просто и понятно

Сегодня только сторонники теории заговора не пользуются сервисами Google, Apple, Yandex, Microsoft, Amazone и т.п. Большинство этих популярных сервисов работают по модели SaaS (Software as a Service) — программное обеспечение как сервис.

Логика работы SaaS-сервисов разделена на две большие части: фронтенд часть и бэкенд часть. Фронтенд отвечает за работу интерфейса веб-сервисов и отображение результатов работы сервиса, а бэкенд берет на себя задачи связанные с обработкой данных и возвращение результатов во фронтенд.

Яркими примерами SaaS-сервисов являются: Gmail, Google Диск, Photopea, iCloud, Microsoft OneDrive.

Gmail, Google Диск, Photopea, iCloud, Microsoft OneDrive

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

Собираем все воедино

Современный веб прошёл немалый путь от концептуальной идеи одного человека до Всемирной паутины, без которой невозможно представить современный мир. На протяжении 3 статей мы в деталях рассказывали об истории развития веба и основных веб-технологиях, которые наиболее сильно повлияли на веб.

Давайте вкратце подытожим более чем 30-летнюю историю развития веба.

1989

Идея Всемирной паутины, как свободного источника новых знаний и информации пришла в голову английскому ученому Тимоти Джону Бе́рнерс-Ли, который в 1989 году работал в Европейской организации по ядерным исследованиям.

Бернерс-Ли Тим заложил основные концепции веба и разработал технологическую основу его работы: идентификаторы URI, протокол HTTP, язык гипертекстовой разметки HTML, первый HTTP-сервер. В дальнейшем он стал возглавлять консорциум Всемирной паутины — W3C.

1993

Идея Бернерс-Ли Тима молнией разлетелась по всему миру и буквально спустя несколько лет, в 1993 у веба появилось лицо, которое смог показать веб-браузер с графическим интерфейсом NCSA Mosaic. Именно Mosaic смог раскрыть потенциал веба тех лет и показал всему миру перспективность веб-технологий.

В стороне не остались и крупные IT-компании, многие из них стали разрабатывать собственные веб-серверы: Apache HTTP Server, Internet Information Services (IIS), Sambar Server и многие другие.

1994

Для централизованного развития веба была создана специальная организация — консорциум Всемирной паутины (world wide web consortium, сокращенно W3C).

W3C взял на себя основную работу по разработке единых принципов и стандартов развития веба (рекомендации или предложения — Request for Comments, сокращенно RFC), которые затем внедряются производителями программ и оборудования.

1995 — 2000

Примерно с 1995 начинается активное развитие веба в техническом плане: появляется PHP, поддержка таблиц в HTML, CSS, Macromedia Flash, широкое использование получает JavaScript.

Стремительное развитие веб-технологий середины 90-х привело к появлению нового тренда в бизнесе — обязательное присутствие в инфопространстве. Этот тренд повлиял на будущее развитие некоторых веб-технологий.

2000 — 2010

Примерно с 1995 начинается активное развитие веба в техническом плане: появляется PHP, поддержка таблиц в HTML, CSS, Macromedia Flash, широкое использование получает JavaScript.Очередной виток развития веба пришелся на начало 00-х. За период в 10 лет, с 2000 по 2010 появились: фреймворки для Python, Ruby, PHP, JavaScript, стандарт ECMAScript 5, Node.js и многие другие технологии.

Веб начала 00 стал куда более сложным по сравнению с вебом 90-х. Стали появляться сайты со сложной бизнес-логикой и динамикой, которые подготовили почву для следующего этапа развития веба.

2010 — настоящее время

Примерно с 2010 начинается новый период развития веба — период становления и развития SaaS-услуг и сервисов. Главенствующей концепцией развития веба стала концепция микросервисов.

Микросервисы сделали веб более персонализированным. Теперь достаточно один раз зарегистрироваться в каком-нибудь сервисе и он вас запомнит — не нужно каждый раз вводить длинные пароли. Также микросервисы способствуют распределению нагрузки на серверы SaaS-провайдеров, что способствует большей стабильности работы SaaS-сервисов.


Текущий веб, без сомнения, ещё будет меняться. Сейчас активно развивается HTTP/3, транспортный протокол QUIC, бессерверная архитектура, IOT, голосовые помощники. В будущем значительную роль в развитии веба сыграют нейронные сети, AI, новые фреймворки и концепции веб-разработки.

История развития веба — это одна из множества увлекательных историй в ИТ-мире, которая началась более 30 лет назад и продолжается до сих пор. Другая не менее увлекательная история развития ИТ-технологии — это история появления и развития контейнеров и контейнеризации приложений. Именно об этом и пойдёт речь в наших ближайших публикациях.

Тема контейнеров и контейнеризации приложений обширна и затрагивает множество смежных технологий. Для более глубокого погружения в тему, рекомендуем ознакомиться с некоторыми нашими публикациями в блоге: