Upload
happydev-lite
View
56
Download
4
Embed Size (px)
Citation preview
Не нужно бояться серверов, ребята
Паранюк Евгенийвеб-разработчик, ISSART
Что такое сервер?
Что такое сервер?
Клиенты сервера
Smart-телевизор Ноутбук Телефон
Клиент-сервер
World Wide Web1960е
Arpanet
W3C — World Wide Web Consortium
Миссия: «Полностью раскрыть потенциал Всемирной паутины, путём создания протоколов и принципов,
гарантирующих долгосрочное развитие Сети».
Как общаться с сервером?
Как общаться с сервером? HTTP
Как общаться с сервером?
1. получить /третья_полка/секции_зож/турники
ответ “ОК”
Текст про турник
2. добавить /вторая_полка/секция_зож/брусья
текст про турник
ответ “ОК”
3. удалить /вторая_полка/секция_зож/брусья
ответ “ОК”
4. получить /вторая_полка/секция_зож/брусья
ответ “Не найдено”
Как общаться с сервером? Запрос
Метод запроса Запрашиваемый ресурс Протокол
GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.orgСлужебный заголовок, содержит адрес запрашиваемого ресурса
……еще заголовки
Как общаться с сервером? Ответ
Протокол Код ответа
HTTP/1.1 200 OK (далее следует запрошенная страница в HTML)
Как общаться с сервером?
GET — запросить ресурс PUT — добавить ресурс POST — обновить ресурс DELETE — удалить ресурс
Как общаться с сервером?
2XX — успешное выполнение запроса, пример 200 все ок
3ХХ — перенаправление, пример 301 ресурс перемещен на постоянной основе
4ХХ — нет доступа к ресурсу, пример 404 ресурс не найден
5XX — внутренняя ошибка на сервере, пример 500 внутренняя ошибка
cookie — заголовок при помощи которых Яндекс сыплет вам рекламу
referer — обратный адрес запросившего ресурс, для вычисления по ip
last-modified — заголовок для уведомления клиента о дате последнего редактирование
Как общаться с сервером?
GET запрос — про переходы по ссылке
POST запрос. Разные клиенты одного сервера
Пример запроса POST и ответа
Запрос:
POST /addcomment HTTP/1.1 Host: youtube.comcomment=HelloОтвет:
HTTP/1.1 500 Internal Server Error
Веб-приложение
Запрос со специальным форматом данных
POST /bank HTTP 1.1
…….
<перевести_деньги> <сумма>100500</сумма> <номер_счета_отправителя>#####</номер_счета_отправителя> <номер_счета_получателя>#####</номер_счета_получателя></перевести_деньги>
Атака на сервер банка
Криптология
наука, занимающаяся методами шифрования и дешифрования.
Вертикальное масштабирование
Горизонтальное масштабирование
Серверные языки программирования
Язык Известный сервис на этом языке
PHP ВКонтакте, Facebook
Java Сбербанк, Альфа-банк
Ruby Groupon
Python Instagram
C# Все сервисы от Microsoft
Backend —
обобщенное название серверных технологии
Что нужно знать, чтобы быть программистом
Будущее Web
HTTP 2
Web на заре развития
Web в наши дни
Вопросы