background design element dropbackground design element dropbackground design element drop

HTTPS v kostce: co to je, jak funguje a jak na něj přejít


Barbora Koďousková
Aktualizováno:14.08.2020· 15 min. čtení
Počet zobrazení:15178
Facebook iconTwitter iconLinkedIn icon
Obsah článku
Facebook iconTwitter iconLinkedIn icon

Přechod z HTTP na HTTPS již nějakou dobu patří mezi nejčastěji diskutovaná témata majitelů webů a e-shopů. HTTPS se přitom za posledních několik let stalo standardním protokolem internetové komunikace a jedním z nejzákladnějších hodnotících faktorů Google algoritmu. Dnes se na něj podíváme trochu víc z blízka, postupně si objasníme:

  • co vlastně HTTPS je,
  • jaký je rozdíl mezi HTTP a HTTPS,
  • jak komunikace přes HTTPS funguje,
  • k čemu je dobrý SSL / TLS certifikát a jak ho získat,
  • jak přejít z HTTP na HTTPS.

Co je HTTPS?

HTTPS (Hypertext Transfer Protocol Secure) je novější verze protokolu zajišťující komunikaci mezi webovým serverem a prohlížečem. Na rozdíl od původního HTTP (Hypertext Transfer Protocol) přenášená data šifruje a snižuje tak riziko zneužití osobních údajů, záměny obsahu či odposlech naší online komunikace. Je tedy základní obranou proti MITM (Man In The Middle) útokům.

Weby běžící na HTTPS tak mají určitou auru důvěry, čehož si cení i Google, který tento zabezpečený protokol již před nějakou dobou zařadil na seznam takzvaných ranking (hodnotících) faktorů ovlivňující pozice ve výsledcích vyhledávání – v SERPu. Stejně tak se tyto stránky typicky dočkávají rychlejší indexace.

Upřednostnění webů s HTTPS ovšem nesouvisí pouze s optimalizací pro vyhledávače (SEO). Pravděpodobně každý z nás někdy v prohlížeči vedle lišty pro zadávání URL zaznamenal zeleně svítící nápis „Zabezpečeno“, případně ikonu zámku, jež značí právě použití novější verze protokolu. Takto označené stránky rozhodně působí důvěryhodněji než červeně zářící „Nezabezpečeno".

co je https

Mimo rychlejší indexace a větší šance na lepší umístění ve výsledcích vyhledávání tak HTTPS cílí také na uživatelský zážitek, kdy návštěvníci spíše nakoupí na e-shopu nebo se zaregistrují na webu označeném jako důvěryhodný než u stránek, které hned po načtení vypíší chybovou hlášku. Google Chrome navíc s aktualizací na verzi 80 začal HTTP prvky na webech blokovat, takže se nemusí správně zobrazovat obsah – například obrázky.

Výhody HTTPS aneb co může tento protokol nabídnout

Z hlediska tvorby webu ani uživatelské interakce se stránkami se v podstatě nic nemění – vývoj probíhá stejným způsobem, prvky mají stejnou funkci, můžeme stejným způsobem manipulovat s obsahem. Snižuje se ovšem šance, že by někdo mohl zneužít přihlašovací nebo platební údaje. Výhody HTTPS nad HTTP jsou tedy následující:

  • zajištění šifrované komunikace – uživatelská jména i hesla jsou chráněna před zneužitím třetí stranou,
  • zajištění integrity – HTTPS brání takzvaným MITM atakům, kdy se útočník nabourá do komunikace mezi webovým serverem a prohlížečem a nahrazuje původní obsah stránky jiným, na e-shopu se nám tak může zobrazit banner s reklamou, který tam vůbec nepatří,
  • ověření identity – díky SSL certifikátu víme, že web, který navštěvujeme skutečne patří očekávanému majiteli.

HTTPS pak najde své využití zejména u nezabezpečených – veřejných – WiFi sítí, kde může útočník celkem snadno zachytávat naši komunikaci. Přechod z HTTPS na HTTP tak není pouze záležitostí e-shopů, elektronického bankovnictví a online plateb, ale veškerých internetových stránek, které umožňují přihlašování i ostatních webů, jež chtějí uživatelům zajistit dostatečnou ochranu osobních údajů. Současně můžeme tento zabezpečený protokol pokládat za základ pro tvorbu AMP verzí stránek.

HTTPS vs. HTTP, v čem je rozdíl?

Zásadním rozdílem mezi HTTP a HTTPS je zmíněné šifrování komunikace. Mezi nevýhody HTTP řadíme:

  • riziko odposlouchávání,
  • nezabezpečené platby,
  • označování webů Chromem, Operou a dalšími browsery jako nedůvěryhodné,
  • riziko špatného načtení obsahu stránek.

http vs https

HTTP připojení bylo v minulosti o něco rychlejší než jeho zabezpečená varianta. To se změnilo s příchodem HTTP/2, který stejně jako HTTPS využívá SSL, a je spíše jeho nástupcem. I z hlediska načítání stránek je tak nyní HTTPS výhodnější. Další rozdíly můžeme pozorovat v portech, zatímco HTTP využívá port 80, HTTPS používá port 443.

Nevýhody HTTPS oproti HTTP pak můžeme hledat ve vyšších nákladech v podobě dražšího hostingu, platbě navíc za SSL certifikát a starosti o jeho expiraci (podrobněji níže) či vytíženějším serveru – jedná se o výpočetně náročnější komunikaci.

HTTPS a SSL / TLS aneb jak to celé funguje

HTTPS je zjednodušeně řečeno klasický HTTP protokol zašifrovaný prostřednictvím SSL, nebo TLS. SSL (Secure Socket Layer) i TLS (Transport Layer Security) mají stejný úkol – zprostředkování asymetrické kryptografie. TLS je následníkem původního SSL, přičemž je obecně považován za bezpečnější variantu.

Označení SSL se přitom vžilo natolik, že se v praxi můžeme setkat s SSL certifikátem, ačkoli se v řadě případů už jedná o TLS. Úkol obou bezpečnostních vrstev (protokolů) je ovšem stejný – šifrování. K tomuto účelu využíváme zmíněnou asymetrickou kryptografii a certifikát.

Princip asymetrické kryptografie je založený na dvojici klíčů – veřejném a soukromém, přičemž je veřejný klíč určený k zašifrování a soukromý klíč k rozšifrování. Soukromý klíč se tak nesmí dostat do cizích rukou, zatímco veřejný klíč dáváme k dispozici straně, se kterou komunikujeme.

jak funguje https

V praxi to funguje tak, že my jakožto uživatelé zadáme do prohlížeče nějakou URL například www.rascasone.com. Prohlížeč (například Google Chrome) si vyžádá stránku na příslušném serveru. Server prohlížeči pošle zpátky certifikát s veřejným klíčem. Prohlížeč zkontroluje SSL / TLS certifikát stránky – jeho platnost, zda sedí informace o autoritě (vydavateli certifikátu) a zdrojovém webu.

Pokud údaje nesouhlasí, vypíše prohlížeč chybovou hlášku a upozorní tak uživatele na nezabezpečené připojení. Pokud jsou údaje v pořádku, zašifruje prohlížeč data (například údaje o platební kartě) veřejným klíčem. Server údaje prostřednictvím soukromého klíče dešifruje a provede transakci – číslo karty a podobně se tak dostává pouze do rukou příslušné služby.

Co je SSL / TLS certifikát a jak ho získat?

Přechozí odstavce již zmínily, že je SSL nebo TLS certifikát nezbytnou součástí celého procesu zabezpečené komunikace přes HTTPS připojení. V minulosti byl vyžadován především u internetového bankovnictví, e-shopů a dalších webů, které umožňovaly platby online či registrace. Dnes je však jeho nepřítomnost obecně považována za projev nedůvěryhodnosti.

Co to tedy ten SSL certifikát je? Jedná se o identifikační prvek, který umožňuje browserům ověřit, zda je web, na který se připojujeme skutečně stránkou, jež chceme navštívit. Lze jej tak přirovnat například k občanskému průkazu, díky němuž se můžeme legitimovat a prokázat svou státní příslušnost či věk.

SSL certifikát tak obsahuje informace o doméně, název společnosti, město, stát, datum expirace a detaily o certifikační autoritě – zprostředkovateli certifikátu. Certifikát má stejně jako občanka určitou dobu platnosti, kterou je třeba hlídat, jinak webový prohlížeč nebude schopen stránku navštívit.

Jak SSL certifikát získáme? V řadě případů má tyto věci na starosti poskytovatel hostingu. V podstatě tedy stačí, když mu oznámíme svou snahu o přechod z HTTP na HTTPS, on zajistí certifikát, vloží ho na server a na nás už zůstává „jen“ samotná změna URL.

Pokud pro nás ovšem hosting zřízení SSL certifikátu nezajistí, můžeme vše vyřešit i svépomocí:

  • vyhledáme a oslovíme některou z certifikačních autorit,
  • autorita vystaví certifikát a pošle nám ho e-mailem,
  • vložíme ho na server, případně zadáme tuto práci poskytovateli či správci.

Celý proces následně opakujeme, jakmile certifikátu skončí platnost. U placených certifikátů se platnost pohybuje mezi 1-3 roky. Bezplatné služby, jako například Let’s Encrypt mívají platnost kratší, v tomto případě 90 dní. V obou případech však musíme dbát na to, aby certifikát nepropadl, protože jinak web nemusí být uživatelům dostupný, jak již bylo zmíněno výše.

K vyhledání certifikačních autorit můžeme využít komunitu CA/Browser forum, případně report vytvořený Mozillou, tvůrcem prohlížeče Firefox. Při výběru bychom měli dbát zejména na důvěryhodnost, ačkoli se s ní pojí větší cena, kterou za SSL certifikát musíme platit.

Jak přejít z HTTP na HTTPS?

První krok, který musíme, jakmile se pro přechod z HTTP na HTTPS rozhodneme, udělat je tedy zřízení SSL nebo TLS certifikátu. Pak už nastává ta složitější část a současně důvod, proč se této změně řada webů a e-shopů tak vehementně bránila – změna URL. Cílem je totiž změnit původní HTTP připojení u všech odkazů a stránek na HTTPS. Na celém webu by nám tak neměla zbýt po HTTP žádná zmínka.

O něco snazší máme celý proces v případě, kdy používáme například WordPress, zde můžeme zvolit některý z k tomuto účelu určených pluginů, jenž se o většinu starostí postará za nás. Ručně tak musíme upravit pouze URL v nastavení pro homepage, případně později pro smíšený obsah.

Pokud WordPress ani jiné open-source CMS nepoužíváme musíme přejít k přesměrování HTTP požadavků na HTTPS prostřednictví trvalého přesměrování 301. Přesměrování 301 obecně používáme v případech, kdy potřebujeme předělat strukturu webu, změnit doménu nebo smazat některou kategorii a chceme uživatelům zabránit v návštěvách již neexistujících stránek.

jak přejít z http na https

Odstraníme tak riziko výpisu chybové hlášky 404. Současně se tímto způsobem chráníme před duplicitním obsahem a říkáme, kterou stránku má Google nebo Seznam indexovat. Přesměrování by však mělo vést buď na stránku se stejným obsahem nebo alespoň relevantními informacemi. Není proto vhodné přesměrovávat například ze stránky o vývoji mobilních aplikací na nabídku kadeřnických služeb.

Duplicity by se na webu neměly objevovat kvůli optimalizaci pro vyhledávače, přičemž je důležité zachovat původní URL. Například stránku http://www.vasweb.cz/sluzby bychom měli přesměrovat na https://www.vasweb.cz/sluzby, nikoli https://www.vasweb.cz/kadernicke-sluzby, případně https://www.vasweb.cz/SLUZBY. Každá stránka by se zkrátka měla přesouvat 1:1, ať už z hlediska obsahu či adresy – změna by měla nastat pouze u protokolu http:// > https://.

Jak na smíšený obsah (mixed-content)

Změna URL stránek ovšem nestačí, neměli bychom zapomenout na žádný prvek, odkazy v CSS, obrázky, skripty, kanonické odkazy, videa. V opačném případě by se HTTPS míchal dohromady s HTTP a vznikal by takzvaný mixed-content (smíšený obsah), na který prohlížeče rovněž upozorňují.

Kontrolu smíšeného obsahu můžeme provádět ručně, přes konzoli například v Google Chrome. Museli bychom ovšem procházet veškeré stránky a u nich konzoli zobrazit (klávesa F12). Pohodlnější je proto použít některý ze specializovaných nástrojů, které URL procházejí hromadně, například HTTPS checker, SSL check nebo Screaming Frog, případně Ahrefs.

Všechny změny bychom měli před nasazením na produkci otestovat, abychom se vyhnuli případným propadům na pozicích zapříčiněným nesprávným indexováním. Aktualizace by se pak měly dočkat i analytické nástroje jako je Google Analytics nebo Google Search Console. V prvním případě postačí v nastavení změnit protokol. U Search Console je třeba nové přidání webu.

Nesmíme vynechat ani editaci souborů robots.txt nebo sitemap.xml a v případě PPC reklam jejich nové spuštění. Po nasazení změn bychom měli nějakou dobu monitorovat pozice, u nichž musíme i při dodržení správného postupu, jak přejít z HTTP na HTTPS, očekávat určitý propad – změna URL je v každém případě zásadní úpravou, i když je tento přechod proces, který Google i Seznam schvalují.

HSTS aneb jak zajistit, aby web fungoval jen na HTTPS

Google pak ve svých materiálech zmiňuje také HSTS (HTTP Strict Transport Security), princip, který zajišťuje, že se na webu nebude zobrazovat HTTP obsah. Jedná se o další krok, který zabraňuje MITM útokům a současně brání tomu, aby se uživatelé na stránky připojovaly nezabezpečeně. Existuje zde ovšem riziko znepřístupnění webu v situacích, jako je vypršení certifikátu.

Prohlížeč v tomto případě zaznamená HSTS a dokud neuplyne stanovená doba „max-age“ nezobrazí HTTP – například pod dobu měsíce. I tuto dobu bychom měli nejprve otestovat a začínat na kratších intervalech. Současně není nutné HSTS používat hned po přechodu na HTTPS.

HTTPS pro e-shopy

Přechod z HTTP na HTTPS je bezpochyby nejsložitější pro e-shopy a obsahové weby. E-shopy fungující na HTTPS však mají mimo zmíněné výhody v hodnocení také příležitost na umístění v Google Nákupech a na Zboží.cz, které v případě nezabezpečeného protokolu není možné.

Realizaci přesunu na HTTPS bychom v případě e-shopu měli správně načasovat. Ideálně na období, kdy se nás propad pozic tolik nedotkne, tedy v závislosti na povaze zboží. Ku příkladu e-shop se zimním oblečením bude pravděpodobně vhodnější transformovat v létě než v lyžařské sezoně.

Nejsnazší situaci pak mají bezpochyby ti, které tvorba webu nebo e-shopu teprve čeká, jelikož mohou nový projekt rovnou startovat na HTTPS a celému procesu přechodu se vyhnout. Pokud s takovým projektem zrovna začínáte, neváhejte využít naší bezplatné konzultace, rádi vám pomůžeme s jeho realizací. Stejně tak vám můžeme pomoci i s přechodem z HTTP na HTTPS.

Odebírání novinek


Potřebujete poradit?