1. http

http протокол тобі вже дуже добре знайомий. Але, найімовірніше, ти не знаєш, що існує вже три версії таких протоколів. Як майбутній Java-програміст, ти маєш хоча б раз ознайомитися з цією справою.

Нижче я розповім, які види протоколів бувають і в чому їх особливості. А поки ось тобі картинка – вивчай.

протоколи http

2. https

Почнемо з першої модифікації протоколу http – протоколу https. Це той самий http, але до нього додано шифрування контенту. Адже Http-запити та відповіді – це звичайні текстові файли. Тобі, напевно, не хотілося б, щоб усе, що передає та отримує твій браузер, ходило в інтернеті у відкритому вигляді.

Для вирішення цієї проблеми і придумали протокол https (http+security). Коли ти намагаєшся зробити запит за протоколом https, то твій браузер спочатку встановлює з'єднання з необхідним сервером і запитує у нього його SSL-сертифікат.

Потім цей сертифікат перевіряється на справжність: у ньому міститься назва домену та список публічних ключів тих, хто видав серверу цей сертифікат.

Якщо сертифікат є дійсним, тоді браузер встановлює зашифроване з'єднання з цим сервером. І вже всередині цього з'єднання передаються дані через протокол http.

Оскільки інформація про ресурс, який запитується, передається в самому протоколі, при використанні https протоколу, ніхто не може перехопити інформацію про те, до яких саме ресурсів сервера браузер звертався.

Сьогодні цей протокол став стандартом de-facto і майже витіснив старий добрий http.

Якщо хтось спробує підмінити сервер, до якого ти надсилаєш https-запит, сертифікат домену він підмінити не зможе. Браузер це помітить, і ви побачите сторінку на кшталт такої:

3. http/2

Але в цьому світі немає нічого, що не можна було б покращити. Після того, як компанія Google виграла війну браузерів, вона вирішила підім'яти весь інтернет під себе. І, звісно, через благородну причину. Вони вирішили покращити протокол http.

Сказано – зроблено. До нового стандарту передачі даних додали:

  • Обов'язкове шифрування.
  • Стиснення даних у заголовках HTTP.
  • Сервер може надсилати файли ще до запиту (push-технологія).
  • Може бути кілька http-запитів через одне з'єднання TCP.
  • Запити обробляються як на конвеєрі (не потрібно чекати на відповідь, щоб надіслати новий запит).
  • Протокол є бінарним (не потрібно переводити недруковані символи в текст).

Більшість цього прихована від Java-програміста і підтримується лише на рівні вебсервера і браузера.

4. http/3

Третя версія http протоколу доопрацьовується, і найбільше її нововведення – це відмова від TCP протоколу. Дані будуть йти одразу через UDP.

Ось так. Вигадували люди модель OSI, вигадували, а тут на тобі. Чого не зробиш заради швидкості. З іншого боку, може так і правильно. Сьогодні в інтернеті передається дуже багато потокового відео, а там використовувати UDP сам бог велів.

З принадами цього протоколу вже ти гратимешся. Я своє вже відмучився :)

Детальніше про http/3 можна почитати тут.

undefined
3
Опрос
null,  9 уровень,  8 лекция
недоступен
null
Протокол HTTP