Čo je téma
HTTP (Hypertext Transfer Protocol) a HTTPS (Hypertext Transfer Protocol Secure) predstavujú sústavu pravidiel a protokolov, pomocou ktorých komunikuje webový prehliadač (klient) s webovým serverom. Umožňujú vyžiadať a zobraziť texty, obrázky, videá a ďalšie sú súčasti internetových stránok. Hlavným rozdielom je, že HTTPS zabezpečuje šifrovanie prenášaných údajov pomocou kryptografických protokolov.
Na čo slúži
Tieto protokoly slúžia na doručovanie webového obsahu koncovým používateľom. HTTP sa používa na bežné, nešifrované prehliadanie, kde nezáleží na vysokej miere utajenia. HTTPS je nevyhnutný štandard pre moderný web, najmä tam, kde prebieha prenos citlivých údajov – napríklad pri prihlasovaní do účtov, online platbách, bankovníctve alebo pri vypĺňaní osobných formulárov.
Ako funguje komunikacja
Komunikácia prebieha na základe modelu klient-server prostredníctvom správ typu požiadavka (request) a odpoveď (response).
- Nadviazanie spojenia: Klient odošle požiadavku na server. Pri HTTPS najskôr prebehne proces zvaný TLS handshake, počas ktorého sa obidve strany dohodnú na šifrovacích kľúčoch a overia identitu servera pomocou digitálneho certifikátu.
- Požiadavka (Request): Prehliadač pošle serveru správu, ktorá obsahuje metódu (napríklad
GETaleboPOST), požadovanú cestu k súboru a hlavičky s doplňujúcimi informáciami. - Odpoveď (Response): Server spracuje požiadavku a vráti odpoveď, ktorá obsahuje stavový kód (napríklad
200 OKalebo404 Not Found), hlavičky a samotný obsah (napríklad HTML kód stránky).
Protokol alebo sieťová vrstva
Z hľadiska sieťového modelu OSI sa HTTP a HTTPS nachádzajú na aplikačnej vrstve. Na zabezpečenie dôvernosti pri HTTPS sa však využíva dodatočná vrstva protokolu TLS (Transport Layer Security), ktorá operuje pod aplikačnou vrstvou a šifruje dáta prúdiace z nižších transportných protokolov, akým je napríklad TCP (Transmission Control Protocol).
Dôležité adresy porty alebo parametre
Pre správne fungovanie a smerovanie sieťovej premávky využívajú tieto protokoly štandardné sieťové porty:
- Port
80– predvolený port pre nezabezpečenú komunikáciu cez HTTP. - Port
443– predvolený port pre šifrovanú komunikáciu cez HTTPS.
Medzi základné metódy protokolu patria GET (vyžiadanie dát), POST (odoslanie nových dát) a stavové kódy ako 200 (úspech), 403 (prístup odopretý) či 404 (stránka nebola nájdená).
Praktický príklad
Keď do webového prehliadača zadáte adresu, prehliadač odošle požiadavku vo forme HTTP správy. Ukážka jednoduchej požiadavky na server:
GET /index.html HTTP/1.1
Host: www.priklad.sk
User-Agent: Mozilla/5.0
Server na túto požiadavku odpovedá hlavičkou a telom dokumentu:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<html><head><title>Vitajte</title></head><body>Ahoj svet!</body></html>
Bezpečnostné súvislosti
Starší protokol HTTP prenáša všetky údaje v otvorenom, čitateľnom texte (plaintext). To znamená, že akýkoľvek útočník, ktorý má prístup k sieťovej premávke (napríklad na verejnej Wi-Fi sieti), môže tieto dáta odchytiť a prečítať – ide o takzvaný útok typu man-in-the-middle. HTTPS tento problém rieši šifrovaním obsahu. Okrem toho chráni integritu dát, takže útočník nemôže pozmeniť prenášaný kód stránky, a overuje pravosť servera pomocou dôveryhodných certifikačných autorít.
Výhody a obmedzenia
Výhody HTTPS:
- Ochrana osobných údajov a hesiel pred odchytením.
- Zaručenie integrity (údaje sa počas prenosu nezmenia).
- Vyššia dôveryhodnosť pre používateľov a lepšie hodnotenie vo vyhľadávačoch (SEO).
Obmedzenia:
- O niečo vyššia výpočtová náročnosť na nadviazanie počiatočného šifrovaného spojenia.
- Nutnosť spravovať a pravidelne obnovovať digitálne certifikáty.
Často kladené otázky
Aký je hlavný rozdiel medzi HTTP a HTTPS?
Hlavný rozdiel spočíva v bezpečnosti. HTTPS obsahuje vrstvu šifrovania (TLS), vďaka ktorej sú prenášané údaje chránené pred odpočúvaním, zatiaľ čo HTTP prenáša všetky dáta v nezabezpečenom stave.
Prečo ma prehliadač upozorňuje na nezabezpečené pripojenie?
Prehliadače ako Google Chrome alebo Mozilla Firefox zobrazujú varovanie vtedy, keď navštívite stránku používajúcu starý protokol HTTP alebo ak má webový server neplatný či expirovaný bezpečnostný certifikát.