Марат Мавлютов Инженер по автоматизации тестирования
Что такое веб, из чего он сделан, как и почему.
передача и хранение информации
2500000000 – регулярное число пользователей интернета
Современная карта интернета:
Как мы дошли до такой жизни?
(или немного истории)
Военные технологии – двигатель прогресса
ARPANET (Advanced Research Projects Agency Network)
ARPANET (Advanced Research Projects Agency Network)
LOGIN
29 октября 1969 День Рождения Интернета!
70-е
• Электронная почта
70-е
• Электронная почта • Списки рассылки
70-е
• Электронная почта • Списки рассылки • Новостные группы
Карта сети ARPANET
Стандартизация
• Модель OSI/ISO
Стандартизация
• Модель OSI/ISO • Стек протоколов TCP/IP
Канальный Физический
Сетевой
Транспортный
Прикладной
Прикладной
Представления
Сеансовый
Канальный
Транспортный
Сетевой
TCP/IP OSI
80-е
• DNS
80-е
• DNS • IRC
80-е
• DNS • IRC • URI/URL
80-е
• DNS • URI/URL • IRC • HTML => HTTP
DNS – domain name system
Схема работы DNS
Язык разметки HTML
Статический HTML
Pros & Cons
Преимущества: • не нужно знать языки веб-программирования • хорошая кешируемость • минимальная нагрузка на сервер • простота переноса
Недостатки • невозможность генерации • трудная поддержка
Динамический HTML
Этапы формирования
• генерация на стороне сервера • передача клиенту • генерация на стороне клиента
Протокол HTTP
95:~ mavlyutov$ telnet mavlyutov.people.yandex.net 80 Trying 37.9.65.57... Connected to mavlyutov.people.yandex.net. Escape character is '^]'. GET /index.htm HTTP/1.1 <html> <body> <h1>Hello!</h1> <p>This is the simple web page for apache server</p> </body> </html> Connection closed by foreign host.
HTTP запрос
90-е
• Браузеры
90-е
• Браузеры • Клиент-серверная модель
90-е
• Браузеры • Клиент-серверная модель • Многоуровневая архитектура
90-е
• Браузеры • Клиент-серверная модель • Многоуровневая архитектура • Одноранговые сети
Браузер
Букет браузеров
Клиент-серверная модель
Pros & Cons
Преимущества: • отсутствие дублирования кода • все вычисления выполняются на сервере • все данные хранятся на сервере
Недостатки • single point of failure • высокая стоимость оборудования.
Что такое сервер?
Сервер
Программное обеспечение
Аппаратное обеспечение
Программный сервер
Аппаратный сервер
Хостинг:
• выделенный (dedicated)
Хостинг:
• выделенный (dedicated) • виртуальный (virtual private
server)
Хостинг:
• выделенный (dedicated) • виртуальный (virtual private
server) • разделяемый (shared)
LAMP – джентельменский набор
• Linux • Apache • MySQL • Python/PHP/Perl
Операционная система
• Linux • Windows
Веб-сервер
• Apache • nginx
База данных
• MySQL/MariaDB • PostgreSQL • MongoDB
Язык программирования
• Python • PHP • Perl
Балансировка нагрузки
Round Robin
Облака
• Облачное хранилище данных • Облачные вычисления
IaaS Infrastructure as a Service
PaaS Platform as a Service
SaaS Software as a Service
Облака
VPN – virtual private network
VPN в интернете
Интернет – очень большой
Как устроен facebook
Огромные объемы данных
1. 500 000 000 активных пользователей 2. 1 000 000 000 сообщений в чате ежедневно 3. 10 000 пар становятся друзьями каждую минуту
Основные принципы:
1. Простота 2. Масштабируемость 3. Открытость
Технологии:
PHP + HipHop
Технологии:
MySQL + memcached
В итоге:
Про Яндекс
Сервисы Яндекса:
Монетизация
Виды монетизации:
• Подписка
Виды монетизации:
• Разовая покупка услуг
Виды монетизации:
• Продажа виртуальных товаров
Виды монетизации:
• Медийная и контекстная реклама
Медийная реклама в Яндексе
Медийная реклама в Яндексе
Контекстная реклама в Яндексе
Контекстная реклама в Яндексе
РСЯ Рекламная сеть Яндекса
RTB – real time bidding
Мобильное будущее