Похожие презентации:
Lecture_7._Network_Protocols_(Russian)[1]
1. Сетевые протоколы в веб
2. План лекции
Клиент-серверная архитектура приложенийПротокол IP
План лекции
Протоколы UDP/TCP
Протокол HTTP(s)
Структура HTTP-запросов
Структура HTTP-ответов
3. Клиент-серверная архитектура приложений
4. Протоколы
Сетевой протокол – набор правил, по которым обмениваются различныеузлы и программы в сетях.
Основа для любой сети - это:
IP (сетевой уровень) – именует адресами все узлы и устройства в сети;
TCP/UDP (транспортный уровень)
– передача данных в «пакетах»;
HTTP, HTTPS (Hypertext Transfer Protocol) – протокол прикладного
уровня для передачи данных (изначально – в виде HTML-документов,
сейчас – для передачи произвольных данных).
5.
6. Протокол IP (Internet Protocol)
Протокол IP (Internet Protocol)Решает две задачи:
1)адресация узлов сети;
2)передача данных между адресованными узлами.
Система адресации позволила объединять сети.
Адресация в IP-сетях
Каждому узлу IP-сети назначается числовой сетевой адрес (IPадрес, «айпишник»).
Принятая форма записи адреса: 192.168.0.99
7. Как узнать IP-адрес своего компьютера?
Как узнать IP-адрессвоего компьютера?
Cmd (win+r) – команда
ipconfig
Сторонние сервисы в
интернете (напр. myip.com)
8. Специальные адреса
10.x.x.x, 172.16.x.x – 172.31.x.x, 192.168.x.x – внутренние адреса,действуют только в локальной сети.
Уникальность таких адресов необходимо поддерживать только в пределах
локальной сети, но при этом узел не может иметь прямого выхода в
глобальную сеть.
Сетевой шлюз конвертирует протоколы (e.g. TCP/IP) одной сети
(в ISsoft Intranet – локальной\частной ) в протоколы другой сети
(глобальной\публичной – Internet).
Например: TCP/IP пакеты, идущие с моего локального ПК частного IP адреса (команда ipconfig 10.10.102.115) шлюз оборачивает
в публичный IP адрес (может быть статическим
\ динамическим 86.57.158.250) и отправляет «гулять» в Интернет
Поэтому «MyIP» сервисы всегда показывают ваш «публичный» IP адрес.
9. Как узнать ip-адрес ресурса в интернете
Как узнать ipадрес ресурса винтернете
Cmd -> команда ping
Через Browser Dev
Tools
10. Протоколы UDP и TCP
Протоколы UDP и TCPUDP – User Datagram Protocol (протокол пользовательских датаграмм).
TCP – Transmission Control Protocol (протокол управления передачей).
Оба протокола транспортного уровня. Решают задачи доставки
сообщений.
11. Протокол TCP
Протокол TCPОсновная задача – надёжная доставка данных.
Ориентирован на соединение: два приложения перед обменом данными должны
выполнить определенные вспомогательные действия, называемые установлением
соединения.
Следствие: в обмене данными всегда участвуют две конечные точки. Организовать
широковещательную рассылку при помощи протокола TCP нельзя!
Что делает протокол TCP для обеспечения надёжности:
1.
Разбивает передаваемые данные на сегменты оптимальной длины, которые
приёмник собирается в правильном порядке.
2.
При пересылке сегмента использует таймер для ожидания подтверждения от
принимающей стороны (квитанция). Если квитанция не приходит,
выполняется повторная передача сегмента.
3.
После получения сегмента данных принимающая сторона проверяет
контрольную сумму сегмента.
4.
Устранение дубликатов.
12. Протокол TCP
Протокол TCP+ Обеспечивает
надёжную доставку информации
– Нет
широковещательной рассылки
– Медленнее
«стартует» (установление
соединения)
13. Протокол UDP
Протокол UDPПростой транспортный протокол.
По сути, берёт порцию данных, снабжает её коротким служебным
заголовком и отдаёт всё это протоколу IP для дальнейшей передачи.
Факт получения или пропажи данных никак не отслеживается.
14. Протокол UDP
Протокол UDP+ Быстрее передаёт данные,
так как не выполняет
процедуры установления
соединения между узлами
+ Позволяет
вести широковещательную
рассылку (в рамках локальной
сети)
– Не гарантирует доставки данных
15. Использование UDP и TCP
Использование UDP и TCP16.
17. Протокол HTTP(s)
Протокол HTTP(s)HTTP (Hypertext Transfer Protocol) – протокол прикладного уровня для
передачи произвольных данных (хотя изначально данные передавались только
в виде HTML документов)
HTTPs – расширение протокола HTTP, поддерживающее шифрование.
Данные, передаваемые по протоколу HTTPS, шифруются с помощью
криптографического протокола SSL (v. 3.0) или более нового и
защищенного TLS (v. 1.1 или 1.2) в целях
обеспечения безопасности, например: защиты от
прослушивания снифферами.
Для работы по HTTPS необходимо, чтобы на веб-сервере
был установлен SSL(TLS) сертификат.
18. Давайте ответим на вопрос:
Что происходит, когда я набираю в адреснойстроке браузера URL и нажимаю Enter?
- трансляция имени хоста в IP-адрес
- установление TCP-соединения с указанным адресом
- HTTP-запрос (GET) для получения ресурса
- Получение HTTP-ответа
- Рендеринг страницы (HTML, CSS). В процессе – дополнительные запросы
19. Структура HTTP(s)-запросов
Структура HTTP(s)-запросовСтруктура:
1.Стартовая строка запроса (request starting line) – обязательна;
2.Заголовки (headers) – опциональны;
3.Тело сообщения (message body) – опционально, отделяется пустой
строкой.
20. HTTP: Стартовая строка запроса
HTTP: Стартовая строка запросаМетод
HTTP/Версия
Метод URL
URI HTTP/Версия
Метод – название запроса (определяет действие), одно слово
из стандартного списка, заглавными буквами (GET, POST, PUT и т.д.)
URL определяет путь к запрашиваемому ресурсу
Версия – пара разделённых точкой цифр. Например:
1.1 - сейчас наиболее часто используется
2.0 – на нее постепенно переходят наиболее популярные сайты
Для построения HTTP запросов можно использовать:
HTTP Proxy Tools: Fiddler или Charles (триал версия)
Postman
21. HTTP: Стартовая строка запроса: примеры
HTTP: Стартовая строка запроса: примерыGET /dashboard/index.html HTTP/1.1
GET /dashboard/index.html?x=1&y=2
HTTP/1.0
POST /wordpress/wp-login.php HTTP/1.1
22. HTTP: Методы
HTTP: Методы23. HTTP-заголовки
HTTP-заголовки используются для настройки параметров передачи,описания тела сообщения (если оно есть) и прочих сведений.
Записываются в виде ИмяЗаголовка: Значение
Host: en.wikipedia.org
Accept-Language: en-US
User-Agent: Mozilla/5.0
Content-Length: 348
Content-Type: text/html; charset=utf-8
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
24. HTTP-запросы: пример GET
HTTP-запросы: пример GETGET /wiki/List_of_HTTP_header_fields HTTP/1.1
Host: en.wikipedia.org
Accept-Language: en-US
User-Agent: Mozilla/5.0
25. HTTP-запросы: пример POST
HTTP-запросы: пример POSTPOST /wordpress/wp-login.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0
Content-Length: 22
log=romanchuk&pwd=password
26. HTTP: ответ
HTTP: ответСтруктура:
1.
Стартовая строка ответа – обязательно!
2.
Заголовки – опционально
3.
Тело сообщения – опционально, отделяется пустой строкой от заголовков
27. HTTP: Стартовая строка ответа
HTTP: Стартовая строка ответаHTTP/Версия
КодКод
Состояния
Пояснение
HTTP/Версия
Состояния
Пояснение
Версия – версия HTTP протокола, например: 1.1
Код состояния – три цифры. По коду состояния определяется дальнейшее
содержимое сообщения и поведение клиента.
Пояснение – короткое текстовое пояснение кода состояния для пользователя.
Не является обязательным.
28. HTTP-ответ: Коды состояния
29. HTTP-ответ: Коды состояния – примеры
HTTP-ответ: Коды состояния – примеры100 Continue (Заголовки получены, жду тела запроса)
200 OK (Запрос успешно обработан)
301 Moved Permanently (Ресурс перемещён)
400 Bad Request (Ошибка в запросе)
401 Unauthorized (Не авторизован)
403 Forbidden (Запрет доступа)
404 Not Found (Не найдено)
500 Internal Server Error (Общая ошибка сервера)
503 Service Unavailable (Сервер не справляется с обработкой)
30. Дополнительные материалы для изучения
Protocol HTTP: https://www.youtube.com/watch?v=HFt7Lm7hv1EHTTP Methods: https://www.youtube.com/watch?v=-jR7mGCNXBo
HTTP: https://www.youtube.com/watch?v=iYM2zFP3Zn0
Protocols: https://www.youtube.com/watch?v=Z-a7MNStFQs
HTTPS: https://www.youtube.com/watch?v=39sAcwYcAxA
SSL: https://www.youtube.com/watch?v=-G256iibFYg
TLS: https://www.youtube.com/watch?v=AlE5X1NlHgg
31.
TCP/IP: что это и зачем это тестировщику:https://www.youtube.com/watch?v=rLUzYeLdM0k
UDP против TCP: https://www.youtube.com/watch?v=aXYJlizk3CQ
Asymmetric encryption: https://www.youtube.com/watch?v=AQDCe585Lnc
Networks: (Очень простой теоретический курс)
Networks: Топология локальных сетей. =>
https://www.youtube.com/watch?v=lnFeG4DOMcE&t=14s
Networks: Система доменных имён. =>
https://www.youtube.com/watch?v=4hVSwy1lUjo
Networks: IP-адресация => https://www.youtube.com/watch?v=0rfUDjsIids
Networks: Стек протоколов OSI =>
https://www.youtube.com/watch?v=FYrpX0alwak
Networks: Функции уровней модели OSI. =>
https://www.youtube.com/watch?v=7cIC-o2wODs
Интернет