Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HTTPs и его прикладные друзья

HTTPs и его прикладные друзья

Слайды с внутренней обзорной лекции о прикладном уровне стека TCP/IP и протоколе HTTP(s).

58e952ea302f1fa452f69c9d8204a8bc?s=128

Vladimir Plizga

November 26, 2019
Tweet

Transcript

  1. HTTPs и его прикладные друзья

  2. 0 Вспомнить всё

  3. None
  4. Коротко о главном ◎ ◎ ◎

  5. Соотношение уровней OSI и TCP/IP

  6. Общеизвестные жители этажей TCP/IP

  7. Цель встречи:

  8. 1 Разминка

  9. Задачка №1 ◎ ◎ ◎ ◎

  10. Задачка №2 ◎ ◎ ◎ ◎

  11. Задачка №3 ◎ ◎

  12. Задачка №3 ◎ ◎

  13. 2 Прикладной уровень TCP/IP

  14. Разница между форматом и протоколом ◎ ◎

  15. Выясняем отношения AMQP gRPC HTTP SOAP DICOM JSON Protobuf HTML

    XML PFIF
  16. None
  17. Прикладных протоколов много ◎ ◎ ◎ ◎ ◎ ◎ ◎

    ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
  18. Прикладной уровень может быть составным

  19. 3 HTTP

  20. 1991

  21. Швей- цария

  22. Женева

  23. HTTP v0.9 ◎ ◎ ◎

  24. RFC

  25. None
  26. HTTP v1.0 ◎ ◎ ◎ ◎

  27. HTTP v1.1 ◎ ◎

  28. HTTP/2 ◎ ◎ ◎ ◎ ◎

  29. HTTP/3 ◎ ◎ ◎ ◎ ◎ ◎

  30. 4 HTTP 1.1

  31. Hyper Text Transfer Protocol ◎ ◎ ◎

  32. Участники взаимодействия в HTTP

  33. Общие сведения об HTTP ◎ ◎ ◎ ◎ ◎ ◎

  34. 5 HTTP запросы

  35. URL

  36. URL задает точку направления запроса http://example.ru:8081/artifactory/home.html?id=1&v=2

  37. Структура сообщения запроса (вид сверху) ◎ ◎ ◎ ツ ◎

  38. Строка запроса ◎ ◦ ⚠ ◎ ◦ ◎ ◦ HTTP/1.1

    GET /images/logo.png HTTP/1.1
  39. None
  40. Заголовки запроса ◎ ◦ ◎ ◎ ◦ • •

  41. Стандартные заголовки запроса • MIME-тип ожидаемого ответа Accept • Размер

    тела в байтах Content-Length • MIME-тип тела запроса • У нас обычно application/json Content-Type • (см. далее) Cookie
  42. Стандартные заголовки запроса • Единственный обязательный • Нужен виртуальному хостингу

    Host • Адрес предыдущего посещения • Не опечатка Referer • Адрес(а) предыдущих прокси • Когда-то был специфичным X-Forwarded-For • ID клиентской программы • Жертва войны браузеров User-Agent
  43. Разновидности лжи

  44. 351 000+

  45. Empty Line

  46. Тело запроса

  47. Аргументы запроса можно передавать по-разному ◎ ◎ ◎

  48. Какой способ выбрать?

  49. Не спи!

  50. 6 HTTP ответы

  51. Структура сообщения ответа (вид сверху) ◎ ◎ ◎ ツ ◎

  52. Строка статуса ◎ ◦ HTTP/1.1 ◎ ◦ ◎ ◦ HTTP/1.1

    200 OK
  53. Коды ответов ◎ ◎ ◎ ◎ ◎ ◎

  54. Некоторые стандартные коды ответов ◎ ◎ ◎ ◎ ◎ ◎

  55. Стандартные заголовки ответа • Название и версия сервера Server •

    Адрес перенаправления • Используется при редиректах Location • Форма кодирования ответа: chunked, compress, deflate, gzip Transfer- Encoding • Сохранение данных на клиенте Set-Cookie
  56. Cookie – это как номерок в гардеробе

  57. Основные сведения о cookies ◎ ◎ ◎ ◦ ◦ ◦

  58. Атрибуты cookies ◎ ◎ ◎ ◎ ◎ ◎ ◎

  59. По источнику cookies бывают «свои» и «сторонние»

  60. В начале 2000-х

  61. GPDR

  62. Передача cookies ◎ ◦ ◎ ◦ ◎

  63. None
  64. 6 Соучастники HTTP

  65. HTTP Secure ◎ ⚠ ◎ ◎ ◎ ◦ ◦ ◦

  66. План рассказа про SSL/TLS Что охвачено в этом докладе Что

    творится на самом деле
  67. SSL/TLS ◎ ◎ ◦ ◦ ◎ ◎

  68. Где можно узнать подробнее? ◎ ◎

  69. None
  70. SOAP – Simple Object Access Protocol SOAP ≈ HTTP +

    XML
  71. SOAP строится на 2 артефактах

  72. Достоинства и недостатки SOAP

  73. REST – REpresentational State Transfer REST ≈ HTTP + JSON

  74. Основные свойства REST ◎ ◦ ◦ ◎ ◦ ◦ ◦

  75. Варианты реализации сервисов по уровням API-1 API-2 API-3 API-4 SOAP

    HTTP SSL/TLS TCP IP
  76. 7 Практика

  77. Задачка №1 ◎ ◎ a) somehost.ru b) http://somehost.ru c) https://somehost.ru

  78. Задачка №2 ◎ ◎ ◎ ◎

  79. Задачка №3 ◎ ◎ ◎ ◎

  80. 8 Резюме

  81. Краткая суть предыдущих 80 слайдов ◎ ◎ ◦ ◎ ◦

  82. Спасибо!