Co je webový server a jak funguje?Jednoduché vysvětlení
Co se vlastně stane, když do prohlížeče zadáte adresu webové stránky a stisknete Enter? V pozadí proběhne komunikace mezi vaším zařízením a webovým serverem, který přijme požadavek a odešle zpět požadovaný obsah. Vysvětlíme si, co je webový server, jak funguje, jakou roli při načítání webu hrají DNS, HTTP a HTTPS a jak webový server souvisí s webhostingem.
Co je webový server a jak funguje?
Když do prohlížeče zadáte adresu webové stránky, během několika okamžiků se vám zobrazí její obsah. Na pozadí přitom probíhá komunikace mezi vaším zařízením a webovým serverem. Server přijme požadavek, vyhledá potřebná data a odešle je zpět do prohlížeče.
Webový server je proto jedním ze základních stavebních prvků internetu. Bez něj by nebylo možné běžným způsobem zobrazovat webové stránky, provozovat webové aplikace ani poskytovat řadu internetových služeb.
Co je webový server?
Webový server je počítačový systém, který přijímá požadavky od klientů a poskytuje jim webový obsah. Klientem může být například webový prohlížeč v počítači, mobilním telefonu nebo tabletu.
Webový server může být fyzický počítač umístěný v datovém centru, ale také virtuální server běžící na výkonném fyzickém stroji.
Na serveru mohou být uloženy například:
- HTML soubory,
- CSS styly,
- JavaScript,
- obrázky,
- videa,
- dokumenty,
- databáze,
- programové skripty,
- soubory webových aplikací.
Server následně podle požadavku uživatele poskytne příslušný obsah.
Jak webový server funguje?
Princip fungování lze zjednodušit do několika kroků.
1. Uživatel zadá webovou adresu
Do prohlížeče například zadáte:
www.example.cz
Prohlížeč potřebuje zjistit, na jakém serveru se tento web nachází.
2. DNS přeloží doménu na IP adresu
Doménové jméno je pomocí systému DNS přeloženo na IP adresu serveru.
Například:
www.example.cz → IP adresa serveru
Díky DNS nemusíte zadávat číselnou IP adresu. Stačí si pamatovat doménové jméno.
3. Prohlížeč odešle požadavek
Prohlížeč následně odešle na server požadavek, typicky prostřednictvím protokolu HTTP nebo HTTPS.
Požadavek může například znamenat:
„Chci získat obsah stránky /clanek.“
4. Webový server požadavek zpracuje
Webový server zjistí, co má uživateli vrátit.
U jednoduché statické stránky může pouze načíst příslušný HTML soubor.
U dynamického webu, například WordPressu, může být potřeba spustit PHP, načíst údaje z databáze a sestavit výslednou stránku.
5. Server odešle odpověď
Server následně odešle odpověď zpět do prohlížeče.
Může obsahovat například:
- HTML dokument,
- CSS soubory,
- JavaScript,
- obrázky,
- další potřebné zdroje.
6. Prohlížeč stránku zobrazí
Prohlížeč přijatá data zpracuje a sestaví výslednou webovou stránku, kterou uživatel vidí na obrazovce.
Celý proces může proběhnout během zlomků sekundy.
Webový server není totéž co webhosting
Tyto pojmy se často zaměňují.
Webový server je technologie nebo serverový systém, který poskytuje webový obsah.
Webhosting je služba, která vám umožňuje umístit web na server poskytovatele a provozovat jej prostřednictvím internetu.
Webhosting tedy může využívat webový server, databázový server, poštovní server, DNS servery a další infrastrukturu.
Zjednodušeně:
webový server = technologie/server pro poskytování webového obsahu
webhosting = služba, která vám poskytne prostor a infrastrukturu pro provoz webu
Co je HTTP a HTTPS?
Komunikace mezi prohlížečem a webovým serverem probíhá prostřednictvím protokolu HTTP nebo jeho zabezpečené varianty HTTPS.
HTTP znamená Hypertext Transfer Protocol.
HTTPS znamená Hypertext Transfer Protocol Secure.
HTTPS využívá šifrované spojení prostřednictvím TLS. Chrání tak komunikaci mezi uživatelem a serverem před snadným odposlechem nebo manipulací během přenosu.
Proto dnes webové stránky běžně používají adresy začínající:
https://
Místo:
http://
Jakou roli hraje IP adresa?
Každý server dostupný přes internet musí být možné nějakým způsobem adresovat. K tomu slouží IP adresa.
Například IPv4 adresa může vypadat takto:
192.0.2.10
V současnosti se používá také IPv6, která poskytuje výrazně větší adresní prostor.
Doména je pro člověka snadno zapamatovatelný název, zatímco IP adresa slouží k síťové komunikaci.
Co je webový serverový software?
Samotný hardware nestačí. Na serveru musí běžet software, který dokáže přijímat a zpracovávat požadavky.
Mezi známé webové servery patří:
- Apache HTTP Server
- NGINX
- LiteSpeed Web Server
- Microsoft IIS
Jednotlivé technologie se liší například výkonem, konfigurací, podporovanými funkcemi a způsobem práce s požadavky.
Apache
Apache HTTP Server patří mezi dlouhodobě používané webové servery. Je open source a existuje pro řadu operačních systémů.
Jeho velkou výhodou je rozsáhlá dokumentace, množství modulů a dlouhá historie.
NGINX
NGINX je populární webový server a reverzní proxy server známý mimo jiné efektivním zpracováním velkého množství současných spojení.
Často se používá také před aplikačními servery a jako součást rozsáhlejší serverové infrastruktury.
LiteSpeed
LiteSpeed Web Server je komerční webový server zaměřený na vysoký výkon. Často se s ním můžete setkat například u webhostingů optimalizovaných pro WordPress.
S ekosystémem LiteSpeed souvisí také plugin LiteSpeed Cache pro WordPress, který může využívat některé funkce serveru LiteSpeed.
Microsoft IIS
Microsoft Internet Information Services, zkráceně IIS, je webový server od společnosti Microsoft. Používá se především v prostředí Windows Server.
Je vhodný například pro aplikace využívající technologie Microsoftu a platformu .NET.
Statický a dynamický webový server
Webové stránky můžeme zjednodušeně rozdělit na statické a dynamické.
Statický web
U statického webu server většinou odešle již připravené soubory.
Například:
index.html
Server soubor načte a odešle jej návštěvníkovi.
Výhodou může být jednoduchost, rychlost a nízké nároky na server.
Dynamický web
Dynamický web vytváří obsah podle požadavku uživatele.
Příkladem je WordPress.
Když návštěvník otevře článek, WordPress může načíst informace z databáze, zpracovat PHP kód, použít šablonu a vytvořit výsledný HTML dokument.
Výsledkem je stránka, kterou následně server odešle návštěvníkovi.
Jak funguje WordPress na webovém serveru?
WordPress není pouze sada HTML souborů.
Typická instalace WordPressu využívá:
- webový server,
- PHP,
- databázi MySQL nebo MariaDB,
- soubory WordPressu,
- šablonu,
- pluginy.
Když návštěvník otevře například článek, webový server předá požadavek WordPressu. PHP zpracuje potřebné operace a WordPress načte příslušné údaje z databáze.
Následně vznikne HTML stránka, kterou server odešle prohlížeči.
Právě proto je u WordPressu důležitý nejen samotný webhosting, ale také výkon serveru, konfigurace PHP, databáze a dostupná serverová infrastruktura.
Co je databázový server?
Webový server nemusí ukládat všechna data přímo do HTML souborů.
Dynamické weby často používají databázi.
Například WordPress ukládá do databáze mimo jiné:
- články,
- stránky,
- uživatele,
- nastavení,
- komentáře,
- metadata,
- informace používané pluginy.
Webová aplikace tedy může při požadavku načíst potřebná data z databáze a následně vytvořit výslednou stránku.
Co ovlivňuje rychlost webového serveru?
Rychlost webu nezávisí pouze na jednom parametru.
Důležitou roli může mít:
- výkon procesoru,
- velikost operační paměti,
- rychlost disků,
- rychlost databáze,
- konfigurace webového serveru,
- verze PHP,
- síťové připojení,
- latence,
- cachování,
- CDN,
- velikost obrázků,
- množství JavaScriptu a CSS,
- kvalita samotného webu.
Proto není možné jednoduše říct, že například „rychlý webhosting“ automaticky znamená rychlý web.
Špatně optimalizovaný web může být pomalý i na výkonném serveru.
Co je cache?
Cache je mechanismus, který umožňuje dočasně ukládat výsledky některých operací, aby se nemusely opakovaně provádět.
U webů může být například uložena již vygenerovaná stránka.
Při další návštěvě ji server nemusí znovu kompletně vytvářet z databáze. Může použít uloženou kopii.
To může výrazně snížit zatížení serveru a zkrátit dobu načítání stránky.
Co je CDN?
CDN neboli Content Delivery Network je síť serverů rozmístěných na různých místech.
Statický obsah, například obrázky, CSS nebo JavaScript, může být distribuován prostřednictvím serveru geograficky blíže návštěvníkovi.
CDN tak může pomoci snížit latenci a zrychlit doručování obsahu.
Webový server a bezpečnost
Webový server je také důležitou součástí bezpečnosti webu.
Server musí být správně nakonfigurován a aktualizován. Zároveň je nutné zabezpečit samotnou webovou aplikaci.
Mezi základní opatření patří:
- používání HTTPS,
- pravidelné aktualizace serverového softwaru,
- aktualizovaný operační systém,
- bezpečná konfigurace,
- ochrana před útoky,
- firewall,
- pravidelné zálohy,
- bezpečná hesla,
- vícefaktorové ověřování tam, kde je dostupné,
- monitoring serveru.
U WordPressu je navíc nutné pravidelně aktualizovat samotný WordPress, pluginy a šablony.
Webový server vs. server jako počítač
Pojem „server“ může označovat dvě různé věci.
Server může být fyzický počítač, který poskytuje služby ostatním zařízením.
Serverem ale může být také software, který konkrétní službu poskytuje.
Jeden fyzický server může například provozovat několik virtuálních serverů a na nich může běžet více webových serverů nebo dalších služeb.
Proto není vždy správné představovat si webový server jako jeden konkrétní počítač s jedním webem.
Může na jednom serveru běžet více webů?
Ano.
Na jednom fyzickém nebo virtuálním serveru může být provozováno velké množství webových stránek.
Webový server dokáže podle domény nebo jiných parametrů požadavku určit, který web má návštěvníkovi poskytnout.
Této technologii se říká virtual hosting neboli virtuální hostování.
Právě na tomto principu funguje značná část běžných webhostingových služeb.
Co se stane, když webový server nefunguje?
Pokud webový server přestane správně fungovat, návštěvníci se na web nemusí dostat.
Příčinou může být například:
- porucha serveru,
- výpadek datového centra,
- problém v síti,
- přetížení,
- chyba konfigurace,
- softwarová chyba,
- útok,
- problém s databází,
- vyčerpání dostupných systémových prostředků.
Kvalitní poskytovatelé proto používají monitoring, zálohování, redundantní infrastrukturu a další mechanismy pro zvýšení dostupnosti.
Proč je webový server důležitý pro webhosting?
Webhosting je v podstatě služba, která poskytuje infrastrukturu potřebnou k provozu webu.
Když si objednáte webhosting, nemusíte si pořizovat vlastní fyzický server. Poskytovatel vám nabídne prostor a potřebné serverové prostředí.
V závislosti na typu služby může jít o:
- sdílený webhosting,
- virtuální server,
- cloudový server,
- dedikovaný server.
Pro běžný osobní nebo firemní web je často dostačující klasický sdílený webhosting. Náročnější projekty mohou vyžadovat VPS nebo dedikovaný server.
Shrnutí
Webový server je základní součástí fungování webových stránek. Přijímá požadavky návštěvníků a poskytuje jim požadovaný obsah.
Zjednodušeně celý proces vypadá takto:
návštěvník → prohlížeč → DNS → IP adresa → webový server → webová aplikace/databáze → odpověď → prohlížeč
Moderní web ale může být mnohem složitější. Mezi návštěvníkem a samotným webovým serverem mohou být například CDN, reverzní proxy, load balancer, firewall nebo další serverové komponenty.
Pro běžného uživatele je nejdůležitější vědět, že webhosting poskytuje prostředí, ve kterém webový server a další potřebné technologie zajišťují dostupnost jeho webu na internetu.