Введение в веб технологии

Бизюк Андрей

ВГТУ

2024-12-03

Роль веб-технологий в современном мире

Описание

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

Доступ к информации

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

Электронная коммерция

Онлайн-магазины и платформы для электронной коммерции строятся на веб-технологиях. Они позволяют пользователям покупать товары и услуги, сравнивать цены, читать отзывы и многое другое.

Социальные сети

Популярные социальные сети, такие как Facebook, Twitter, Instagram и LinkedIn, базируются на веб-технологиях и позволяют людям общаться, делиться контентом и устанавливать профессиональные связи.

Образование

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

Работа и бизнес

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

Развлечения и мультимедиа

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

Мобильные устройства

Мобильные приложения и веб-приложения, оптимизированные для мобильных устройств, позволяют нам оставаться связанными и использовать интернет в движении.

Блокчейн и криптовалюты

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

Интернет вещей (IoT)

Веб-технологии активно применяются для управления и мониторинга устройств в Интернете вещей, таких как умные дома и умные города.

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

История развития веб-технологий

История развития веб-технологий восходит к далеким временам, но наиболее заметное и революционное развитие произошло в последние несколько десятилетий. Вот краткий обзор ключевых этапов в истории развития веб-технологий:

Ранние этапы (1940-1990-е)

1940-1950-е

Идея “гипертекста” была предложена Французским философом и инженером Ванневаром Бушем, который придумал устройство под названием “Мемекс”, предвосхитившее идеи гипертекстовой связи и ссылок.

Ванневар Буш

Рисунок 1: Ванневар Буш

Memex

Рисунок 2: Memex

1960-е

Разработаны первые концепции компьютерных сетей и гипертекстовых систем, таких как Xanadu.

Рисунок 3: Xanadu

1980-е

Тим Бернерс-Ли создал и представил первую концепцию веба и систему управления информацией, которая стала прародителем современного Всемирной Паутины (World Wide Web).

Тим Бернерс-Ли

Создатель URI, URL, HTTP, HTML и Всемирной паутины и действующий глава Консорциума Всемирной паутины. Автор концепции семантической паутины, множества других разработок в области информационных технологий

Рисунок 4: Тим Берренс-Ли

Зарождение Всемирной паутины (1990-1993)

1990

Тим Бернерс-Ли разработал первый веб-браузер (WorldWideWeb) и веб-сервер (httpd) на основе протокола HTTP (HyperText Transfer Protocol).

Рисунок 5: WorldWideWeb

1991

Первый сайт, представляющий Всемирную паутину, был размещен в Интернете. http://info.cern.ch

Рисунок 6: Первый сайт

1993

Веб-браузер Mosaic, созданный Марком Андрессеном и Эриком Бина, стал первым популярным веб-браузером, который позволил пользователям просматривать веб-страницы с графикой.

Рисунок 7: Mosaic

Развитие браузеров и серверов

Рисунок 8: История браузеров и серверов

Эра браузерных войн и стандартизации (1994-2000)

  • 1994-1997: Браузерные войны между Microsoft Internet Explorer и Netscape Navigator привели к интенсивному развитию веб-технологий и функциональности браузеров.
  • 1996: Веб-сервер Apache начал свою работу, и с тех пор остается одним из наиболее популярных веб-серверов в мире.
  • 1998: Веб-консорциум W3C был создан с целью разработки и стандартизации веб-технологий, таких как HTML и CSS.

Эра динамических веб-приложений (2000-2010)

  • 2004: Запуск веб-приложения Gmail, которое продемонстрировало возможности создания сложных приложений, работающих в браузере.
  • 2005: AJAX (Asynchronous JavaScript and XML) стал популярным методом для создания интерактивных и асинхронных веб-приложений.
  • 2008: Google Chrome был выпущен и стал конкурентоспособным браузером, способствующим развитию веб-технологий.

Эра мобильности и HTML5 (2010-н.в.)

  • 2010: HTML5 и CSS3 были внедрены, предоставив разработчикам мощные инструменты для создания богатых веб-приложений и мультимедийного контента.
  • 2010-е: Рост мобильного интернета и развитие мобильных браузеров привели к необходимости создания адаптивных и мобильных веб-сайтов.
  • 2020-е: Веб-технологии продолжают развиваться, включая прогрессивные веб-приложения, WebAssembly, и усиленное внимание к безопасности.

Клиент-Серверная модель

Описание

Клиент-серверная архитектура - это распределенная модель взаимодействия, которая используется в веб-технологиях и в основе работы интернета. Она предполагает разделение функциональности и ролей между двумя основными компонентами: клиентом и сервером. Давайте более подробно объясним каждую из этих ролей:

Клиент (Client)

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

Сервер (Server)

  • Сервер - это компьютер или система, которая хранит и обрабатывает данные, предоставляемые клиентам через сеть. Сервер отвечает на запросы, поступающие от клиентов, и отправляет им необходимую информацию в ответ.
  • Функции сервера: Сервер выполняет ряд функций, включая:
    • Прием и обработку HTTP-запросов от клиентов.
    • Обращение к базам данных, файлам или другим ресурсам для получения запрошенных данных.
    • Формирование HTTP-ответов с данными, которые отправляются клиентам.

Взаимодействие между клиентом и сервером

Процесс взаимодействия между клиентом и сервером обычно выглядит следующим образом:

  1. Клиент отправляет HTTP-запрос на сервер, указывая, какие данные или ресурсы он хочет получить.

  2. Сервер принимает запрос и обрабатывает его, включая доступ к базам данных или другим ресурсам, если это необходимо.

  3. Сервер формирует HTTP-ответ с запрошенными данными и отправляет его обратно клиенту.

  4. Клиент получает ответ от сервера и отображает содержимое на экране или выполняет другие действия в зависимости от содержания ответа.

Статический веб-сайт

StaticWebsite client Клиент (Браузер) webserver Веб-сервер (Apache, Nginx) client->webserver HTTP/HTTPS html HTML webserver->html css CSS webserver->css media Медиа (изображения, видео, аудио) webserver->media

Динамический веб-сайт

DynamicWebsite client Клиент (Браузер) webserver Веб-сервер (Apache, Nginx) client->webserver HTTP/HTTPS backend Бэкенд (Язык программирования, Фреймворк) webserver->backend database База данных (MySQL, PostgreSQL, MongoDB) backend->database SQL, NoSQL html HTML backend->html css CSS backend->css js JavaScript backend->js media Медиа backend->media

Веб-приложение

WebApplication frontend Фронтенд (HTML, CSS, JS) Фреймворк (React, Angular, Vue ...) backend Бэкенд Язык программирования (JS, Python, Java, PHP ...), Фреймворк(Express, Django, Spring, Laravel ...) frontend->backend HTTP/HTTPS, JSON database База данных (MySQL, PostgreSQL, MongoDB) backend->database ORM/ODM (SQLAlchemy, Mongoos ...) cloud Облачная Платформа (AWS, Azure, GCP ...) backend->cloud Деплой, Хостинг