+38(097) 404 30 30
UA RU

HTTPS протокол очима SEO-фахівця: що це таке і чим він відрізняється від HTTP

0 80 29.01.2025


Подивіться на свій номер телефону. У нас це +380 97 404 30 30. Що ми маємо:

  • +380 – телефонний код країни;
  • 97 – код оператора мобільного зв’язку;
  • 404 30 30 30 – номер абонента.

А тепер спробуйте відповісти на запитання – що таке телефонний код? У Вікіпедії вдалося знайти ось таке:

Телефонний код – система, яка дозволяє користувачам телефонних пристроїв здійснювати або приймати міжміські та міжнародні телефонні виклики. Код зони нумерації (званий ABC для географічно обумовленої зони нумерації або DEF – для нумерації, яка географічно не підпадає під визначення зони) – дві або три десяткові цифри – та частина телефонного номера, яка вказує міжміський вузол зв’язку.

Якщо ви комусь перекажете це визначення, зрозуміліше людині не стане. Але це ж не заважає всім нам користуватися телефонами…

Ось та сама ситуація і з протоколом HTTPS – ви стикаєтеся з ним щодня, використовуючи інтернет. І немає там нічого складного. Але якщо спробуєте комусь пояснити, що це таке, буде непросто)).

Сьогодні спробуємо розібратися з цією темою, але не як технарі, з величезною кількістю термінів і визначень, а на рівні, що дасть вам змогу працювати з цим протоколом, як SEO-фахівцю. А це дуже все спрощує.

Що таке HTTPS

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

http://prosuver.ua/
https://prosuver.ua/

HTTP або HTTPS – один із них завжди буде присутній в url. Без них неможливо завантажити сайт. Тому що це протоколи, які забезпечують вихід в інтернет та регламентують передачу даних. Точно так само, як +380 забезпеч протоколує вихід на країну.

Далі слід було б дати визначення, але воно буде приблизно таким самим, як і визначення телефонного коду вище. Навіть якщо ви вивчите його напам’ять, використовувати не будете. Тут важливе розуміння, як це працює, а не терміни. Замість цього, давайте подивимося розшифровку цих абревіатур.

HTTP розшифровується як Hyper Text Transfer Protocol – це протокол передачі гіпертексту (якщо перекласти дослівно).

HTTPS розшифровується як Hyper Text Transfer Protocol Secure – це безпечний протокол передачі гіпертексту.

Залишилося розібратися, що таке гіпертекст і протокол передачі.

Гіпертекст – це текст із гіперпосиланнями. Наприклад, якщо ви створите документ у Microsoft Word, напишете трохи тексту та якісь слова зробите посиланнями на сторінки в інтернеті – це вже буде гіпертекст. Другий приклад – це ця сторінка. Тут є текст, посилання та інші види контенту – це теж гіпертекст. Тобто, під це визначення потрапляє будь-яка сторінка будь-якого сайту.

З протоколом ще простіше. Це свого роду інструкція, яка визначає, що і як має передаватися в інтернеті. Причому вона створена не для вас, як користувача інтернету. Вона потрібна вашому браузеру, щоб він знав, як запросити потрібну інформацію у сервера, і серверу, щоб він знав, як її передати.

Тобто HTTPS – це свого роду набір інструкцій, які допомагають браузерам і серверам, на яких зберігаються сайти, організувати захищене передавання інформації. Взагалі-то це стосується не тільки браузерів і серверів, але нам важливі саме вони. Щоб було зрозуміліше, давайте подивимося, як це працює.

Чим HTTPS відрізняється від HTTP

Щоб зрозуміти в чому різниця між HTTP та HTTPS, потрібно подивитися, як вони працюють. Тому що наявність захисту – це всього лише надбудова або розширення. А базовий принцип не змінився.

Як працює протокол HTTP

Давайте розбиратися на прикладі моєї статті про аналіз конкурентів. Щоб прочитати її, ви маєте ввести в адресний рядок браузера url-адресу:

https://prosuver.ua/blog/seo/analyze-competitors-websites/

Але якби PROSUVER працював на HTTP, адреса була б такою:

http://prosuver.ua/blog/seo/analyze-competitors-websites/

Поки будемо вважати, що так і є. Після того, як ви натиснете Enter, відбудеться звичне завантаження сторінки, і ви побачите її ось у такому вигляді:

Який вигляд має сторінка сайту в браузері

Але так сторінку бачать тільки користувачі. На сервері вона зберігається у вигляді HTML-документа (трохи спрощую, але так зрозуміліше):

Який вигляд має сторінка сайту в HTML

Ось його і пересилає сервер за запитом браузера. Тобто, коли ви ввели адресу сторінки в адресний рядок та натиснули Enter, браузер надсилає запит серверу на отримання HTML-документа. Отримує його. Потім запитує додатково стилі, скрипти і картинки, посилання на які прописані в цьому документі. І збирає з усього цього візуальний варіант сторінки. Результат ви бачите на екрані.

Якщо адреса виявиться неправильною і такої сторінки сервер у себе не знайде – він повинен буде відправити 404 помилку. Якщо у сторінки змінилася адреса і налаштоване постійне перенаправлення на нову, значить сервер поверне 301 відповідь. Браузер і тут її «зрозуміє». Таких кодів відповіді досить багато, але про них поговоримо в іншій статті.

Усе це в сумі й регулює протокол HTTP. Якби не було єдиних правил, браузер і сервер просто не змогли б «домовитися».

Як працює протокол HTTPS

Ви коли-небудь робили бекап на диск із шифруванням? Якщо так – чим він відрізняється від звичайного? Тільки початковим налаштуванням диска і ще щоразу під час його використання потрібно буде пароль вводити. Тут майже так само.

Для того, щоб сайт почав працювати на HTTPS, його потрібно налаштувати. Для цього потрібно отримати SSL сертифікат та підключити його до сайту. Про сертифікати та налаштування трохи нижче, а поки виходимо з того, що вже все зроблено. Розберемо принцип роботи HTTPS протоколу:

  • Ви вводите в адресний рядок браузера url-адресу сторінки, яку хочете завантажити.
  • Браузер надсилає запит серверу на отримання HTML-документа.
  • Сервер, на якому зберігається сайт, замість HTML-документа надсилає копію SSL/TLS сертифіката.
  • Браузер приймає його, надсилає запит у центр сертифікації (місце, де ви отримали сертифікат) та звіряє дані в отриманій копії з даними, які зберігаються в центрі. Переконується, що все ок.

Перший етап завершено. Браузер переконався в тому, що це саме той сайт, від якого йому і потрібно отримати документи. Але обмінюватися даними рано. Вони все ще не захищені. Тепер браузеру та серверу потрібно «домовитися» про шифр, який вони використовуватимуть для шифрування даних. «Придумати» його може будь-яка сторона. Але тут є проблема – як передати цей ключ, щоб уже його не перехопили зловмисники? Адже, якщо ключ буде перехоплений, всі подальші дії безглузді.

Для цього передбачено 2 види шифрування: симетричне й асиметричне. Симетричне – це означає, що в обох сторін є один і той самий ключ, яким вони зашифровують і розшифровують повідомлення. Це те, до чого ми маємо прийти.

Асиметричне потрібне для того, щоб цей ключ передати. Виглядає це так – у браузера, як і у сервера, є 2 ключі – відкритий і закритий. Вважайте, що це опція за замовчуванням)). Перший (вміє тільки зашифровувати) зберігається в інтернеті й отримати до нього доступ може будь-хто. Другий (вміє тільки розшифровувати) – є тільки у сервера/браузера. І коли вам потрібно передати іншій стороні щось секретне, ви маєте знайти відкритий ключ та зашифрувати своє повідомлення. Розшифрувати його може тільки друга сторона, тому його можна переслати, не боячись перехоплення.

Повертаємося до принципу роботи HTTPS:

  • Після перевірки SSL сертифіката браузер знаходить в інтернеті відкритий ключ сервера. Потім створює ключ для симетричного шифрування. Шифрує його за допомогою відкритого асиметричного ключа. І надсилає серверу.
  • Сервер розшифровує повідомлення за допомогою закритого асиметричного ключа. І підтверджує, що з’єднання встановлено.
  • Потім відбувається обмін даними, але тепер усі повідомлення шифруються за допомогою ключа для симетричного шифрування. Оскільки такий ключ генерується для кожного сеансу, його ще називають сеансовим.

Сам обмін даними відбувається так само, як описано в принципах роботи HTTP. Просто під час використання протоколу безпеки додається перевірка автентичності сайту, обмін ключами та шифрування всіх даних, що пересилаються. У результаті замість того, щоб пересилати дані для авторизації ось у такому вигляді:


<p>Name: Maxim</p>
<p>url: https://domain.com/login</p>
<p>login: ivanov888</p>
<p>password: 123456789</p>

Вони будуть переслані в такому:

Приклад шифрування під час використання HTTPS

На скріні показано не те шифрування, яке робить захищений протокол, але зате дає змогу наочно побачити, що воно собою являє.

Таким чином, основна різниця між HTTP і HTTPS у наявності шифрування всіх даних, що пересилаються. Що робить такий обмін якщо не повністю безпечним, то хоча б максимально захищеним. Тепер потрібно з’ясувати наскільки це взагалі важливо.

Який протокол кращий для вашого сайту і чому

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

Тобто, для сайту, де є передача персональних даних HTTPS шифрування є необхідністю.

Якщо такі дані не передаються, наприклад, це може бути інформаційний сайт, де навіть коментарі не передбачені, теоретично використання HTTPS не обов’язкове. Але на практиці ви зіткнетеся з двома проблемами.

1. Попередження в браузері про те, що сайт небезпечний

Якщо сайт працює на HTTPS у рядку браузери ви побачите замочок:

Адреса в рядку браузера під час використання HTTPS

Якщо на HTTP, буде ось так:

Адреса в рядку браузера під час використання HTTP

Це приклад із Safari, в інших браузерах буде трохи по-іншому, але сенс той самий.

Якщо ви не використовуєте сертифікат безпеки, користувачі бачитимуть таку позначку. Хтось скаже «ну і що, хто на неї дивиться», але для декого це важливо, і вони можуть закрити сторінку та піти на інший сайт. А значить навіть для таких сайтів є сенс використовувати HTTPS. Тим більше, що це можна зробити безкоштовно.

2. Проблеми під час SEO-просування

Google ще у 2014 році підтвердив, що наявність HTTPS – це фактор ранжування. Але навіщо вірити на слово? Перевірте…

Візьміть будь-який запит та вбийте в пошуковий рядок Google. Ви там бачите сайти на HTTP? У деяких нішах один такий сайт може і знайтися в ТОП 10, та й то, рідко. А це означає, що за інших рівних ПС віддає перевагу сайтам на HTTPS. Ви ж не хочете просувати сайт та сподіватися, що станете тим єдиним проектом, який потрапляє в ТОП 10 з HTTP протоколом?

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

Кілька слів про SSL сертифікат

Розбиратися з SSL сертифікатами будемо в окремій статті. Але оскільки нам довелося їх торкнутися, розглядаючи принципи роботи HTTPS, кілька моментів обговоримо.

  • Що це таке?

Його можуть називати по-різному – цифровий документ, цифровий сертифікат, протокол безпеки, який засвідчує автентичність сайту та дає змогу передавати дані в зашифрованому вигляді.

  • Як його отримати?

Сертифікати видають центри сертифікації. Знайти їх не проблема. Але зазвичай навіть шукати не доводиться, ви можете замовити його через свого хостера. Подивіться в акаунті або запитайте у служби підтримки.

  • Це платно чи безкоштовно?

Є платні та безкоштовні. Найпоширеніший безкоштовний варіант – Let’s Encrypt. З платних можна виділити Sectigo, DigiCert, GeoTrust, Thawte. Їх набагато більше, це просто для прикладу.

  • Як встановити?

Є дуже простий та зручний спосіб – пишіть у службу підтримки свого хостера і просіть встановити. Вони самі все зроблять.

  • SSL чи TLS?

Часто можна побачити замість SSL – TLS. Це вимагає пояснення. Спочатку був SSL, який успішно працював до 2014 року. А потім у ньому виявили вразливість і на заміну було розроблено TLS – оновлену версію SSL. У більшості випадків, коли ви чуєте про SSL, йдеться про TLS. Але якщо ви будете обговорювати з власником сайту HTTPS сертифікат для сайту і скажете TLS, здебільшого він не зрозуміє, про що йдеться, тому що на слуху, як і раніше, SSL. Тож говоримо SSL, маємо на увазі TLS

  • Як подивитися який сертифікат у сайту?

Дивитися чужі сертифікати майже не має сенсу. Але бувають ситуації, коли власник сайту хоче вибрати сертифікат, але не знає який. Можна почитати рейтинги, але хто їх пише і скільки з них рекламних… Простіше відкрити кілька десятків якісних сайтів і подивитися, хто що використовує. А комусь і просто цікаво, який він має вигляд.

Щоб побачити сертифікат, потрібно натиснути на замочок перед url адресою в адресному рядку браузера. Потім натиснути «Показати сертифікат» або «Дійсний сертифікат» (залежно від браузера). У результаті ви побачите, ким виданий, дійсний чи ні, до якої дати:

SSL сертифікат сайту PROSUVER

Висновок

На закінчення хотілося б зробити невелике застереження. Якщо ви власник сайту або SEO-фахівець-початківець, розібралися що таке HTTPS-з’єднання, усвідомили той факт, що використовувати його необхідно, і маєте сайт на HTTP – не поспішайте змінювати протокол.

Якщо ви тільки робите сайт – встановлення сертифіката має виконуватися відразу. Якщо сайт без трафіку та втрачати нічого – аналогічно. Але якщо він уже отримує трафік із пошукових систем – спершу вивчіть, як перейти з HTTP на HTTPS, не втративши цей трафік.

5/5 Усього голосів: 4
Підпишись на блог Щоб бути в курсі всіх оновлень
Неправильно введено e-mail!
Ваша підписка успішна! Раді ділитися з вами цікавими новинами
Зачекайте...
Залишити коментар

Ваш коментар на модерації!
Бажаєте працювати з нами або отримати консультацію?Надішліть нам заявку
Невірний формат телефону
Зачекайте...
Ваша заявка успішно відправлена!
ми зв'яжемося з вами найближчим часом