Srovnání rychlosti načítání webu s použitím RSA/ECC certifikátu a různých verzí HTTP protokolu

21.6.2024 | Jindřich Zechmeister

ECC certifikáty jsou alternativou k RSA certifikátům. Poskytují stejnou bezpečnost při kratší délce klíče, což urychluje práci a snižuje zatížení serveru. Na rychlost načítání webu má vliv i přenosový protokol; HTTP/2 a nově HTTP/3 výrazně zlepšují práci s otevřeným spojením a zrychlují načítání stránek. V tomto článku ověříme, zda má na rychlost načítání webu větší vliv certifikát nebo verze HTTP protokolu.

ECC certifikáty používají kratší klíč při stejné míře zabezpečení

ECC certifikáty jsou již mnoho let dostupné jako alternativa certifikátů s RSA algoritmem. ECC klíč (kryptografie eliptických křivek) dosahuje stejné bezpečnosti jako RSA klíč o několikanásobné bitové délce (256b ECC klíč = 3072b RSA); díky kratší délce je práce s ním rychlejší a bere serveru méně procesorového výkonu. Když měříme, jak velkou rychlostí se načítá web, musíme vzít v úvahu také protokol přenosu dat. Už řadu let můžeme využít rychlý protokol HTTP/2 a v posledních letech dokonce jeho třetí verzi. Modernější verze už překonaného HTTP/1.1 nabízí výrazně lepší práci s otevřeným spojením (každý soubor se nemusí přenášet zvlášť) a velice zrychluje načítání stránek. Pojďme se podívat, zdali má na rychlost načítání webu větší vliv certifikát s menším veřejným klíčem, nebo modernější protokol přenosu dat.

Metodika měření

Pro testování byl použit redakční systém Wordpress bez dalších úprav, bez obsahu a s výchozí šablonou.

Pro měření výsledků byly zvoleny dvě služby - PageSpeed Insights, což je nástroj od Google, a nástroj GTmetrix.com. Pro měření GTmetrix byl vybrán server v Německu a u každého měření je uveden simulovaný prohlížeč (a zařízení) + simulovaná rychlost připojení.

Volba padla na výkonný ZonerCloud server VPS s Apache/2.4.59 (Debian); pro test HTTP/3 posloužil místo Apache webový server OpenLiteSpeed verze 1.7.19.

Vysvětlení použitých pojmů

Google svým nástrojem Lighthouse stanovil nejpoužívanější referenční benchmark benchmark rychlosti, s jakou se weby načítají. Lighthouse můžete použít v každém prohlížeči Chrome, ale hlavně pomocí služby PageSpeed Insights. Ta slouží vývojářům webů a odborníkům na SEO pro ladění rychlosti webu a jeho odezvy.

Google Lighthouse používá několik termínů, které je třeba vysvětlit.

  • FCP (First Contentful Paint) je metrika, která měří čas od začátku načítání stránky do doby, kdy se na obrazovce uživatele zobrazí první kus obsahu (např. text, obrázek, canvas render). Hodnota by měla být do 1,8 sekundy.
  • LCP (Largest Contentful Paint) je metrika, která měří čas od začátku načítání stránky do doby, kdy je na obrazovce uživatele vykreslen největší viditelný obsahový prvek. Dobrý výsledek je do 2,5 sekundy.
  • Speed Index - meří jak rychle se obsah vaší stránky viditelně zaplní. Dobrý výsledek je 1,3s nebo méně.

Ve výsledcích testu GTmetrix.com uvádím hodnotu SSL (waterfall), která udává, jak dlouho při načítání stránky trval TLS handshake, tedy ustavení komunikace pomocí HTTPS.

Protokol HTTP/1.1

Tato verze HTTP protokolu je prastará - pochází už z roku 1997. Každému je určitě jasné, že tehdejší weby vypadaly obsahově i technicky jinak. Tento protokol se nehodí pro použití v dnešní době, kdy jsou webové stránky obsáhlé, komplexní a plné obrázků s javascriptem. Stále však slouží jako "záložní" (fallback) protokol pro starší klienty a stále tedy přežívá.

PageSpeed Insights

Certifikát Výkon FCP LCP Speed Index
ECC 94 (desktop) 0.5s 0.9s 0.9s
ECC 94 (mobil) 1.7s 2.7s 3s
RSA 92 (desktop) 0.5s 0.8s 1.8s
RSA 94 (mobil) 1.6s 3.0s 1.8s

GTM – server Frankfurt Germany

Nastavení: Apple iPhone 6/6S/7/8/SE (2nd/3rd Gen) LTE (15/10 Mbps. 100ms)

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC A – 95 % 888ms 1.3s 1.2s 123ms
RSA A – 95 % 896ms 1.3s 1.2s 128ms

Nastavení: Apple iPhone 6/6S/7/8/SE (2nd/3rd Gen) 3G (1.6 Mbps/768 Kbps 200ms)

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC C – 62 % 1.4s 6.7s 4.1s 241ms
RSA C – 62 % 1.4s 6.8s 4.3s 245ms

Nastavení: Desktop Chrome Unthrottled Connection

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC A – 99 % 314ms 395ms 395ms 23ms
RSA A – 99 % 335ms 417ms 410ms 22ms

Výsledky měření protokolu HTTP 1.1 ukazují, že algoritmus veřejného klíče v certifikátu (a jeho délka) prakticky nemají na načítání webu vliv a jeho rychlost je v obou případech stejná. Důležitá je rychlost sítě - pokud simulujeme neomezenou rychlost připojení, tak handshake trvá desetinu času než na pomalejším 4G/LTE s méně rychlou odezvou.

Protokol HTTP/2

Modernější verze HTTP protokolu přináší několik zásadních vylepšení, které přispívají k rychlejším načtení stránky. Nejvíce je rozdíl mezi HTTP 1.1 a HTTP/2 zřejmý u stránek s více obrázky, kde modernější protokol nestahuje každý z nich samostatně navázaným spojením, ale načítá je společně. HTTP/2 znamená malou revoluci v používání webů.

PageSpeed Insights

Certifikát Výkon FCP LCP Speed Index
ECC 94 (desktop) 0.7s 1.1s 0.7s
ECC 94 (mobil) 1.1s 6s 1.1s
RSA 93 (desktop) 0.4s 1.1s 0.4s
RSA 94 (mobil) 1.0s 5.4s 1.0s

GTM – server Frankfurt Germany

Nastavení: Apple iPhone 6/6S/7/8/SE (2nd/3rd Gen) LTE (15/10 Mbps. 100ms)

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC A – 96 % 860ms 1.2s 1.1s 123ms
RSA A – 96 % 997ms 1.2s 1.1s 126ms

Nastavení: Apple iPhone 6/6S/7/8/SE (2nd/3rd Gen) 3G (1.6 Mbps/768 Kbps 200ms)

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC B – 76 % 1.5s 2.7s 2.3s 241ms
RSA B – 76 % 1.5s 2.7s 2.3s 245ms

Nastavení: Desktop Chrome Unthrottled Connection

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC A – 99 % perf 376ms 471ms 452ms 24ms
RSA A – 97 % 674ms 985ms 756ms 22ms

Výsledky protokolu HTTP/2 opět svědčí o rychlosti, ale zde se už začíná projevovat přínos ECC certifikátu na svižnosti načtení. V posledním případě neomezené rychlosti sítě byl čas načtení webů poloviční, což lze přisuzovat kombinaci HTTP/2 protokolu a ECC certifikátu.

Protokol HTTP/3

Třetí generace HTTP protokolu je stále velice mladá a prosazuje se pomalu. Implementace na hlavní webové servery probíhají zhruba tři roky: Apache tuto verzi podporuje od verze 2.4.51 a Microsoft ve Windows Server 2022 a IIS 10.0. HTTP/3 nepřináší oproti předchůdci takovou revoluci, jako HTTP/2 ve své době, ale je ještě rychlejší a bezpečnější než HTTP/2.

Oba protokoly jsou velice podobné, ale mezi hlavní rozdíly patří fakt, že HTTP/3 nepoužívá TCP protokol. Využívá nový QUIC (Quick UDP Internet Connections), který je založen na UDP. Z pohledu šifrování HTTP/3 integruje TLS 1.3 přímo do protokolu a umí šifrované spojení se serverem navázat ještě rychleji. U HTTP/2 nebylo šifrování spojení striktně povinné, ale všechny implementace protokolu v prohlížečích šifrování striktně používaly.

PageSpeed Insights

Certifikát Výkon FCP LCP Speed Index
ECC 93 (desktop) 0.6s 1.1s 0.6s
ECC 89 (mobil) 1.5s 3.6s 1.6s
RSA 98 (desktop) 0.7s 1s 0.7s
RSA 77 (mobil) 1.1s 5.9s 1.1s

GTM – server Frankfurt Germany

Nastavení: Apple iPhone 6/6S/7/8/SE (2nd/3rd Gen) LTE (15/10 Mbps. 100ms)

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC A – 92 % 818ms 1.7s 1.3s 122ms
RSA A – 94 % 1s 1.3s 1.3s 134ms

Nastavení: Apple iPhone 6/6S/7/8/SE (2nd/3rd Gen) 3G (1.6 Mbps/768 Kbps 200ms)

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC C – 66 % 1.4s 5.4s 2.9s 239ms
RSA C – 65 % 1.4s 5.7s 3.2s 246ms

Nastavení: Desktop Chrome Unthrottled Connection

Certifikát Výkon FCP LCP Speed Index SSL (waterfall)
ECC A – 99 % 339ms 532ms 431ms 21ms
RSA A – 99 % 394ms 551ms 487ms 22ms

U prvního měření přes PageSpeed Insights jsou výsledky nejasné, nicméně uživatel by viděl celý web vykreslený dříve (menší hodnota LCP). Rozdílnost výsledků může být dána i metodikou měření, protože Google neumožňuje zvolit napevno parametry testu a ty občas kolísají. Další výsledky jsou prakticky stejné.

Závěry testu

Co z celého testu vyplývá? Stále platí, že nejdůležitější je rychlost sítě - to není nic překvapivého. Platí to pro server i návštěvníka. Při běžné práci doma či v kanceláři nemáme obvykle s rychlostí internetu problém a stránky se načítají bleskově. Je však třeba myslet i na situace, v nichž je rychlost webu omezená, což se stává typicky při surfování na chytrém telefonu s využitím mobilní sítě. Pamatujte tedy na optimalizaci webových stránek pro mobilní zařízení a podpořte je použitím protokolu HTTP/2. Pokud chcete mít rychlý web, umístěte ho na dobrý hosting s podporou moderního HTTP/2, jakým je CZECHIA.COM, nebo využijte vlastní server od ZonerCloud.

Výsledky testu ukazují, že z pohledu rychlosti webu na algoritmu klíče certifikátu nezáleží, ale ECC klíče jsou kratší a ušetří serveru námahu při šifrování. RSA je dnes už na konci života, protože se rychle blíží kvantově-odolné algoritmy (PQC). Jsem přesvědčen o tom, že v příštích několika letech začne RSA na serverech ustupovat ustupovat moderním algoritmům. Obecně neexistuje důvod, proč nepoužívat ECC certifikáty místo starého RSA. Pokud chcete mít paranoidní úroveň kompatibility, můžete použít duální konfiguraci webového serveru. Ten použije preferovaný certifikát jako hlavní. Pokud by si s ním prohlížeč návštěvníka nerozuměl, má k dispozici certifikát s kompatibilním algoritmem.

Rychlost webu s RSA či ECC certifikátem se prakticky neliší. Web s ECC certifikátem se načetl většinou rychleji než web s RSA certifikátem. To však není nutné přeceňovat - rozdíl v rychlosti načítání webu s použitím RSA či ECC certifikátu je minimální (jednotky procent), mnohdy méně než chyba měření. Přínos ECC certifikátu je znát zejména v případě, že máte pomalejší datové připojení a využíváte protokol HTTP/2.

Protokol HTTP/2 a novější jsou důležité pro uživatele s pomalejší odezvou a sítí, tedy typicky pro smartphony využívající 3G/4G/LTE síť. Je to díky zmíněnému agregování načítání více prvků do jednoho; u HTTP/1.1 se načítájí všechny prvky zvlášť a díky pomalejší síti to o to více trvá. Pokud stránku načítáte na počítači s dnes běžným internetovým připojením, pravděpodobně rozdíl mezi protokoly nepoznáte (pokud stránka nemá naříklad velké množství obrázků).

Z pohledu bezpečnosti jednoznačně doporučuji novější HTTP protokoly, protože šifrování je přímo integrováno do HTTP/2 a HTTP/3 protokolu, což je skvělá zpráva. Bez HTTPS protokoly fungovat nebudou, spojení musí být vždy šifrované.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz