Що потрібно знати власникам сайтів про протокол HTTP

сайтів

Навіщо знадобився HTTP/2

HTTP/1.1 перестав справлятися з навантаженням.У протоколі обмежена кількість одночасних підключень, і сторінки з контентом завантажуються повільно. Для прискорення можна піти шляхом оптимізації на рівні сайту: підключити CDN, налаштувати кешування, об'єднати кілька елементів в один, видалити необов'язкові символи з javascript та CSS-стилів, розподілити сайт різними хостами і т.д. Деякі прийоми виявляються дієвими, а якісь інакше як милицями не назвати.

Кардинальним вирішенням проблеми – покращенням протоколу – зайнялися інженери Google ще у 2009 році. Вони провели серйозну роботу з оптимізації і з'явився протокол SPDY. Він дійсно прискорює роботу сайтів, протокол підтримують майже всі браузери, але для роботи потрібна підтримка на стороні сервера, а модулі є тільки для Apache і Nginx.

Новий HTTP/2 спирається на SPDY.При цьому він назад сумісний з HTTP/1.1: немає необхідності прямо зараз переводити сайт на новий протокол - якийсь час він попрацює і на старому, тільки трохи повільніше.

Маркетплейс креативних майстерень

Cossa рекомендує: онлайн-курси ІКРИ, на яких кожен студент може навчатись м'яким компетенціям, не відриваючись від роботи та застосовувати знання на реальних завданнях, не виходячи з дому.

Чому HTTP/2 працює швидше

Кілька запитів передаються в рамках одного з'єднання. У HTTP/1.1 для кожного запиту на текст, стилі або зображення встановлюється окреме TCP-з'єднання, а кількість одночасних TCP-з'єднань обмежена. Через це сторінки з великою кількістю статичного контенту завантажуються повільніше. За допомогою HTTP/2 браузер виконуєкілька запитів у межах одного з'єднання - це називають мультиплексуванням. Статичні елементи завантажуються паралельно і швидкість роботи сайту зростає.

Підвищується безпека. Для HTTP/2 шифрування не обов'язково, але трендсеттери серед браузерів - Google Chrome і Mozilla Firefox - впровадили HTTP/2-протокол тільки для зашифрованих з'єднань. Якщо ви замислилися над переходом на HTTP/2, спочатку переведіть сайт на HTTPS. Як бонус ви отримаєте покращення позиції в органічній видачі Google та використання можливостей HTML5 на 100% ― наприклад, геолокацію.

На що варто звернути увагу під час оптимізації

HTTP/2 назад сумісний із HTTP/1.1. Це означає, що поспішати з переведенням сайту на новий протокол не потрібно — якийсь час він працюватиме майже так само, як раніше.

Поступово, у міру переходу популярних веб-серверів та веб-браузерів на HTTP/2 робота сайту почне сповільнюватися. Це пов'язано не тільки безпосередньо з протоколом, але і з прийомами оптимізації сайту — те, що працювало для HTTP/1.1, стане неактуальним або сповільнить роботу з HTTP/2.

Продовжуйте об'єднувати зображення в спрайти. У HTTP/1.1 для прискорення завантаження невеликі зображення об'єднували в одне - спрайт-файл. Браузер робив один запит замість сотні та швидше підвантажував сайт. Мультеплексування в HTTP/2 вирішило цю проблему, хоча об'єднання зображень з однієї сторінки покращує стиснення і знижує загальний обсяг даних, що завантажуються.

Варто відмовитися від вбудовування зображень з DataURI та конкатенації. У HTTP/2 краще відмовитися від вбудовування зображень за допомогою Data URI. Цей прийом часто використовують із конкатенацією JS та CSS, щоб обійти ліміт на кількість HTTP-запитів. Через це користувач завантажує багатозайвих файлів, є проблеми з кешуванням. Якщо HTTP-запити не вимагають істотних витрат ресурсів, то без неї можна обійтися. Завантаження безлічі невеликих файлів стилів жодної проблеми не становитиме. Не буде і труднощів із закінченням термінів дії та кешуванням.

Домове шардування тепер не потрібне. У HTTP/1.1 є обмеження на кількість відкритих з'єднань, щоб його обійти доводиться завантажувати статичні ресурси з кількох піддоменів. Такий прийом називається доменним шардуванням: його використовують, як правило, для прискорення завантаження сторінок із великою кількістю зображень. При HTTP/2 ви можете запитувати необхідну кількість ресурсів, і потреба у розподілі контенту за піддоменами відпадає. Більше того, шардування знизить продуктивність, оскільки створить додаткові з'єднання і уповільнюватиме завантаження.

Коли планувати перехід на HTTP/2?

Однозначної відповіді це питання немає — все залежить від особливостей вашого проекту.

Зараз HTTP/2 підтримують Chrome, Firefox, Opera, Edge, Safari - якщо більшість ваших відвідувачів використовує ці браузери, то варто задуматися про перехід.

Де дізнатися технічні подробиці

Якщо ви плануєте перейти на HTTP/2, відправте технічний варіант статті вашому веб-майстру або програмісту.

знати