GNU/Linux >> Znalost Linux >  >> Linux

Co jsou bezstavové a stavové modely vývoje webu

Cílové publikum

Vývojáři, kteří jsou noví v programování webových stránek nebo kteří by mohli mít rádi recenzi bezstavových a stavových modelů designu stránek.

Úvod

Stavové a bezstavové modely chování softwarových aplikací definují, jak webový prohlížeč uživatele komunikuje s webovým serverem. V prvních letech webu měly stránky tendenci být bez státní příslušnosti. Stránky byly statické a nelišily se od uživatele k uživateli. Později webové stránky zahrnovaly stavový model, který poskytoval stránky s informacemi jedinečnými pro každého uživatele. Stavové webové aplikace jsou nezbytné pro moderní elektronický obchod, jako jsou online prodejci a banky, ale k efektivnímu fungování vyžadují sofistikované programování.
.

Model bez státní příslušnosti

V čisté formě bezstavového modelu klientský program zadá požadavek na aplikační server, který odešle data zpět klientovi. Server zachází se všemi klientskými připojeními stejně a neukládá žádné informace z předchozích požadavků nebo relací. Dobrým příkladem bezstavového modelu je web, který zobrazuje jednoduchou statickou webovou stránku. Server přijímá požadavky na stránky, které hostuje, a odesílá data stránek žádajícím prohlížečům, podobně jako kuchař na objednávku připravující jídlo pro hosty.

Stateful Model

Když aplikace pracuje ve stavovém režimu, server sleduje, kdo jsou uživatelé a co dělají, od jedné obrazovky k druhé. Uchování stavu akcí uživatelů je zásadní pro smysluplnou a nepřetržitou relaci. Obvykle začíná přihlášením s ID uživatele a heslem, čímž se vytvoří počáteční stav relace. Jak uživatel prochází webem, stav se může změnit. Server udržuje stav informací o uživateli během relace až do odhlášení.
.

Uvedení států do stavu bez státní příslušnosti

Mnoho webových stránek generuje stránky dynamicky a méně se spoléhají na statické soubory HTML. Prohlížeč uživatele přijímá data stránky z webového serveru a vykresluje je jako statickou stránku. Dynamické stránky navíc umožňují serveru „pamatovat si“ uživatele a vytvářet kontinuitu ze stránky na stránku. Aby kontinuita fungovala, může vývojář použít řadu triků a přidat do bezstavového modelu stavové funkce. Když se například uživatel přihlásí na web banky, server vytvoří informace o této relaci. Informace mohou být uloženy v paměti serveru, ale mohou být také uloženy v prohlížeči. Server sleduje vaši relaci tím, že zaznamenává jedinečné informace o relaci, jako je IP adresa uživatele. Kromě toho může vývojář vytvořit další proměnné na straně serveru používané programy na serveru. Tyto proměnné zůstávají nedotčeny, dokud je relace aktivní, a po odhlášení nebo vypršení relace zmizí.
.

Data na straně prohlížeče

Existuje několik různých možností pro uchování dat relace v prohlížeči. Jedním z nich je cookie , speciální typ tokenu prohlížeče. Webový server může vytvořit soubor cookie a uložit jej v prohlížeči uživatele, aby jej mohl během relace dotazovat. Prohlížeč tyto soubory cookie ukládá a na žádost serveru je vrací. Soubory cookie mohou volitelně vypršet spolu s relací nebo mohou zůstat téměř trvale. Pokud však zůstanou, data může číst jakákoli stránka, což může odhalit informace, které by uživatel jinak nesdílel. Nevybíravé a neoprávněné shromažďování dat mnoha společností z používání souborů cookie vedlo k pocitu nedůvěry u mnoha uživatelů internetu. Mnoho uživatelů na to reagovalo nastavením svých prohlížečů tak, aby blokovaly soubory cookie, čímž byly soubory cookie méně dostupné pro legitimní účely.

Kromě souborů cookie můžete serveru sdělovat data relace vložením proměnných do adresy URL s otazníkem, jako v tomto příkladu:

http://mysite.net/anypage.php?userID=54321&orderID=51926

Všimněte si, že úplně první proměnná je označena otazníkem a následující proměnné používají ampersand.

Mnoho webů používá adresy URL k předávání dat z klienta na server. Jednou nevýhodou je, že data URL jsou viditelná komukoli. V některých případech je možné zneužít data URL k získání neoprávněných informací nebo jinak narušit zabezpečení webu. Také hacker, který monitoruje váš internetový provoz, může snadno zachytit data URL. Data URL však můžete skrýt tím, že je předáte v zašifrované nebo hašované podobě, čímž se zlepší jejich zabezpečení.
.

Zatížení serveru

Při provozování webových stránek, které používají bezstavový režim, má cloudový server poměrně snadnou práci, protože obsluhuje stránky bez nutnosti ukládat data uživatele. Stavový web má pro každého uživatele další paměťovou režii potřebnou k uložení základních dat relace plus uživatelských odpovědí a dalších dat požadovaných aplikací. U webů, které zpracovávají tisíce simultánních relací, se dodatečné požadavky na paměť sčítají. Bezstavový web, který se spoléhá primárně na statické stránky, je také jednodušší na CPU serveru. Naproti tomu stavový web více závisí na dynamickém, programem generovaném obsahu, což vyžaduje mnohem více výkonu CPU na relaci. Důvtipný provozní personál bedlivě sleduje údaje o paměti serveru a výkonu CPU a hledá úzká hrdla, která mohou ovlivnit odezvu webu.
.

Závěr

V moderním internetu má zcela bezstavová webová stránka omezené použití, protože stále více obsahu závisí na sledování dat z návštěvnické relace s touto stránkou. Aby mohl webový vývojář vytvářet dynamické webové stránky, které „znají“ své zákazníky, musí mít na paměti rozdíly mezi stavovým a bezstavovým režimem a výhody a nevýhody každého přístupu, pokud jde o konkrétní stránku nebo prvek stránky.

Atlantic.net nabízí hosting VPS i spravované hostingové služby, které zahrnují vrstvu spravovaných služeb nezbytných pro podnikání k vašim hostingovým balíčkům. Kontaktujte nás ještě dnes pro více informací.

Zjistěte více o našich hostingových službách VPS a virtuálních privátních serverech.

.
.


Linux
  1. Co je webový server a jak webový server funguje?

  2. Vysvětlení decentralizovaného webu a P2P sítí

  3. Nuclide – otevřené IDE pro mobilní a webový vývoj

  1. Co můžete dělat s VPS a cloudovým serverem?

  2. Časté dotazy k systémovému disku a datovému disku

  3. Co je disperze NTP a jak ji mohu ovládat?

  1. Co je Intel SGX a jaké jsou jeho výhody?

  2. Jak zpevnit a zabezpečit webový server NGINX v Linuxu

  3. Co je Apache? Podrobný přehled webového serveru Apache