Слайд 1Введение в интернет
IT Community
IT Сообщество
АВТФ
Слайд 3
Что же такое Internet
Интернет (Interconnected networks) - это связанные сети.
Слайд 5
Как обратиться к устройству в сети?
Слайд 6
Адресация
MAC: c2:34:58:9f:c9:48 - должен быть уникальным у каждого устройства.
IPv4:
94.180.119.78 или IPv6: fe80::ecc7:d3ff:fe09:a7f5
* localhost = 127.0.0.1 ~ ::1 -
Loopback. IP адрес этого устройства
Слайд 7Первое, что должен сделать браузер - узнать IP адрес.
Но есть
только github.com, как ему тут быть?
Слайд 9
Какой IP адрес DNS сервера google?
Слайд 10
Какие с этим связаны особенности (проблемы) работы с доменами?
Слайд 11HTTP
HyperText Transfer Protocol
Клиент-серверная модель
Протокол прикладного уровня по OSI
Слайд 12
Какие еще протоколы этого уровня вы знаете?
Слайд 13Клиент - сервер
Браузер
Мобильное приложение
Физический сервер
Web-server (Nginx, Apache, etc)
Request (запрос)
Response (ответ)
Почтовый
клиент
Почтовый сервер (Sendmail, Postfix)
Request (запрос)
Response (ответ)
app-server (node.js, python, ASP.NET, etc)
Request
(запрос)
Response (ответ)
Слайд 14
Кто знает, что если на физическом сервере находятся несколько программных
серверов - nginx, postgresql, ssh и т.д. Как эти программные
сервера разбираются, кому обрабатывать данные?
Слайд 18Методы запросов
Метод GET запрашивает представление ресурса. Запросы с использованием этого
метода могут только извлекать данные.
HEAD запрашивает ресурс так же, как
и метод GET, но без тела ответа.
POST используется для отправки сущностей к определенному ресурсу. Часто вызывает изменение состояния или какие-то побочные эффекты на сервере.
PUT заменяет все текущие представления ресурса данными запроса.
DELETE удаляет указанный ресурс.
CONNECT устанавливает "туннель" к серверу, определенному по ресурсу.
OPTIONS используется для описания параметров соединения с ресурсом.
TRACE выполняет вызов возвращаемого тестового сообщения с ресурса.
PATCH используется для частичного изменения ресурса.
Слайд 19Заголовки
General Headers (Основные заголовки) — должны включаться в любое сообщение
клиента и сервера.
Request Headers (Заголовки запроса) — используются только в
запросах клиента.
Response Headers (Заголовки ответа) — только для ответов от сервера.
Entity Headers (Заголовки сущности) — сопровождают каждую сущность сообщения.
Слайд 20Коды ответов
2xx - Успех:
200 OK («хорошо»)
3xx - Redirection
(перенаправление):
301 Moved Permanently («перемещено навсегда»)
4xx - Client Error (ошибка
клиента):
401 Unauthorized («не авторизован (не представился)»)
404 Not Found («не найдено»)
5xx - Server Error (ошибка сервера):
500 Internal Server Error («внутренняя ошибка сервера»)
503 Service Unavailable («сервис недоступен»)
Слайд 22Подытожим
Пользователь вводит в поле адреса (например: github.com). Браузер автоматически добавляет
схему (http), и порт (80), если они не были указаны.
Проверяется
локальный DNS, если там нет IP, проверяется следующий в сети DNS, например, DNS маршрутизатора или провайдера и т.д. по иерархии
Браузер устанавливает соединение с сервером
Отправляется HTTP-запрос. В данном случае методом GET
Полученные данные обрабатываются браузером и отображаются.
Слайд 23HTTPS
Расширение HTTP
Защищает от снифферских атак
Порт 443
Слайд 24HTTP/2
Совместим с HTTP/1.X
Сжатие данных в заголовках
PUSH-технологии на сервере
Конвейеризация запросов
Мультиплексирование запросов
Слайд 25Postman, JSON
IT Community
IT Сообщество
АВТФ
Слайд 28
Какие популярные форматы обмена данными в интернете вам известны, помимо
JSON?
Слайд 29Синтаксис JSON
Набор пар ключ: значение.
Упорядоченный набор значений.
В качестве значений в
JSON могут быть использованы:
Объект { }
Массив (одномерный) [ ]
Число
1, 2, 3, 4
Литералы true, false и null
Строка “mew”
Слайд 30Пример запроса
http://myjson.com/api
Content-Type: application/json
Слайд 31ДЗ
Создать пользователя
Войти под него
Создать твит
Проверить созданный твит
goo.gl/akp7jc