Session (počítačová věda) - Session (computer science)

Zejména v informatice a vytváření sítí je relací dočasná a interaktivní výměna informací mezi dvěma nebo více komunikujícími zařízeními nebo mezi počítačem a uživatelem (viz relace přihlášení ). Relace je navázána v určitém časovém okamžiku a poté je „zbořena“ - ukončena - v pozdějším okamžiku. Navázaná komunikační relace může zahrnovat více než jednu zprávu v každém směru. Relace je obvykle stavová , což znamená, že alespoň jedna z komunikujících stran musí uchovávat informace o aktuálním stavu a ukládat informace o historii relace, aby mohla komunikovat, na rozdíl od bezstavové komunikace, kde se komunikace skládá z nezávislých požadavků s odpověďmi.

Zavedená relace je základním požadavkem na provedení komunikace orientované na připojení . Relace je také základním krokem přenosu v komunikačních režimech bez připojení . Jakýkoli jednosměrný přenos však relaci nedefinuje.

Komunikace Transport může být implementován jako součást protokolů a služeb na aplikační vrstvě , na relační vrstvě nebo na transportní vrstvě v modelu OSI .

V případě transportních protokolů, které neimplementují formální vrstvu relace (např. UDP ) nebo kde relace v aplikační vrstvě mají obecně velmi krátkou dobu trvání (např. HTTP), jsou relace udržovány programem vyšší úrovně pomocí metody definované ve vyměňovaných datech. Například výměna HTTP mezi prohlížečem a vzdáleným hostitelem může zahrnovat soubor cookie HTTP, který identifikuje stav, například jedinečné ID relace , informace o předvolbách uživatele nebo úrovni autorizace.

Předpokládalo se, že protokol HTTP / 1.0 umožňuje pouze jeden požadavek a odpověď během jedné relace Web / HTTP. Verze protokolu HTTP / 1.1 to vylepšila dokončením rozhraní Common Gateway (CGI), což usnadňuje údržbu webové relace a podporuje soubory cookie HTTP a nahrávání souborů.

Většina relací klient-server je udržována transportní vrstvou - jediné připojení pro jednu relaci. Každá fáze transakce relace Web / HTTP však vytváří samostatné připojení. Udržování kontinuity relace mezi fázemi vyžaduje ID relace . ID relace vložené do <a HREF> nebo <FORM> vazby dynamických webových stránek tak, že je předána zpět CGI. CGI poté pomocí ID relace zajistí kontinuitu relace mezi fázemi transakce. Jednou z výhod jednoho připojení na fázi je, že funguje dobře i přes připojení s malou šířkou pásma (modem).

Implementace softwaru

TCP relace jsou obvykle implementovány v softwaru pomocí podřízených procesů a / nebo multithreadingu , kde je nový proces nebo vlákno vytvořeno, když počítač vytvoří relaci nebo se k ní připojí. Relace HTTP se obvykle neimplementují pomocí jednoho vlákna na relaci, ale pomocí databáze s informacemi o stavu každé relace. Výhodou více procesů nebo vláken je uvolněná složitost softwaru, protože každé vlákno je instance s vlastní historií a zapouzdřenými proměnnými. Nevýhodou je velká režie, pokud jde o systémové prostředky, a to, že relace může být přerušena, pokud je systém restartován.

Když se klient může připojit k jakémukoli serveru v klastru serverů, při udržování konzistence dochází k speciálnímu problému, když servery musí udržovat stav relace. Klient musí být po dobu relace přesměrován na stejný server, nebo musí servery přenášet informace o relaci na straně serveru prostřednictvím sdíleného systému souborů nebo databáze. V opačném případě se klient může znovu připojit k jinému serveru, než na kterém zahájil relaci, což způsobí problémy, když nový server nebude mít přístup k uloženému stavu starého.

Webové relace na straně serveru

Relace na straně serveru jsou praktické a efektivní, ale může být obtížné je zvládnout ve spojení se systémy pro vyrovnávání zatížení / vysokou dostupností a v některých vestavěných systémech bez úložiště nejsou vůbec použitelné. Problém s vyrovnáváním zatížení lze vyřešit pomocí sdíleného úložiště nebo použitím vynuceného peeringu mezi každým klientem a jedním serverem v klastru, i když to může ohrozit účinnost systému a rozložení zátěže.

Metodou použití relací na straně serveru v systémech bez velkokapacitního úložiště je vyhradit část paměti RAM pro ukládání dat relace. Tato metoda je použitelná pro servery s omezeným počtem klientů (např. Směrovač nebo přístupový bod s nepravidelným nebo nepovoleným přístupem k více než jednomu klientovi najednou).

Webové relace na straně klienta

Relace na straně klienta používají soubory cookie a kryptografické techniky k udržení stavu bez ukládání co největšího množství dat na server. Při prezentaci dynamické webové stránky server odešle aktuální stavová data klientovi (webovému prohlížeči) ve formě souboru cookie. Klient uloží cookie do paměti nebo na disk. S každým následným požadavkem klient odešle soubor cookie zpět na server a server použije data k „zapamatování“ stavu aplikace pro daného konkrétního klienta a vygenerování příslušné odpovědi.

Tento mechanismus může v některých kontextech fungovat dobře; Data uložená v klientovi jsou však zranitelná vůči neoprávněné manipulaci uživatelem nebo softwarem, který má přístup do klientského počítače. Chcete-li použít relace na straně klienta, kde je vyžadována důvěrnost a integrita, je třeba zaručit následující:

  1. Důvěrnost: Nic kromě serveru by nemělo být schopno interpretovat data relace.
  2. Integrita dat: Nic kromě serveru by nemělo manipulovat s daty relace (náhodně nebo škodlivě).
  3. Autenticita: Nic kromě serveru by nemělo být schopno zahájit platné relace.

Aby toho bylo možné dosáhnout, musí server před odesláním klientovi zašifrovat data relace a úpravě těchto informací jakoukoli jinou stranou je třeba zabránit pomocí kryptografických prostředků.

Přenos stavu tam a zpět s každým požadavkem je praktický, pouze pokud je velikost souboru cookie malá. V podstatě relace na straně klienta vyměňují místo na disku serveru za extra šířku pásma, kterou bude každý webový požadavek vyžadovat. Webové prohlížeče navíc omezují počet a velikost souborů cookie, které mohou být uloženy webovou stránkou. Aby se zlepšila účinnost a umožnilo více dat relace, může server před vytvořením souboru cookie data komprimovat a dekomprimovat je později, když je soubor cookie klientem vrácen.

Token relace HTTP

Token relace je jedinečný identifikátor, který je generován a odeslán ze serveru na klienta k identifikaci aktuální interakce relaci. Klient obvykle ukládá a odesílá token jako soubor cookie HTTP a / nebo jej odesílá jako parametr v dotazech GET nebo POST. Důvodem použití tokenů relace je, že klient musí zpracovávat pouze identifikátor - všechna data relace jsou uložena na serveru (obvykle v databázi , ke které klient nemá přímý přístup) propojené s tímto identifikátorem. Mezi příklady názvů, které některé programovací jazyky používají při pojmenovávání svých souborů cookie HTTP, patří JSESSIONID ( JSP ), PHPSESSID ( PHP ), CGISESSID ( CGI ) a ASPSESSIONID ( ASP ).

Správa relací

V interakce člověka s počítačem , řízení relace je proces sledování aktivity uživatele ve všech relacích interakce s počítačovým systémem .

Mezi typické úlohy správy relací v desktopovém prostředí patří sledování toho, které aplikace jsou otevřené a které dokumenty každá aplikace otevřela, aby bylo možné obnovit stejný stav, když se uživatel odhlásí a později se přihlásí. U webu může správa relace zahrnovat požadavek, aby se uživatel znovu přihlásil, pokud relace vypršela (tj. Uplynul určitý časový limit bez aktivity uživatele). Používá se také k ukládání informací na straně serveru mezi požadavky HTTP.

Správa relací na ploše

Správce relací na ploše je program, který může ukládat a obnovovat relace na ploše. Relace na ploše jsou všechna aktuálně spuštěná okna a jejich aktuální obsah. Vedení zasedání na Linuxu založené systémy poskytují stránky X manažer relace . V systémech Microsoft Windows správu relací zajišťuje subsystém správce relací (smss.exe); funkčnost relace uživatele lze rozšířit o aplikace třetích stran, jako je twinsplay .

Správa relace prohlížeče

Správa relací je obzvláště užitečná ve webovém prohlížeči, kde může uživatel uložit všechny otevřené stránky a nastavení a obnovit je později nebo na jiném počítači (viz přenositelnost dat ).

Abychom pomohli zotavit se z havárie systému nebo aplikace, lze stránky a nastavení obnovit také při příštím spuštění. Google Chrome , Mozilla Firefox , Internet Explorer , OmniWeb a Opera jsou příklady webových prohlížečů, které podporují správu relací. Správa relací je často spravována pomocí aplikace cookies .

Správa relací webového serveru

Hypertext Transfer Protocol (HTTP) is stateless: a client computer running a web browser must establish a new Transmission Control Protocol (TCP) network connection to the web server with each new HTTP GET or POST request. Webový server se proto nemůže spoléhat na navázané síťové připojení TCP po dobu delší než jedna operace HTTP GET nebo POST. Správa relace je technika používaná webovým vývojářem k vytvoření stavu relace podpory protokolu HTTP bez státní příslušnosti. Například po ověření uživatele na webovém serveru by jeho další požadavek HTTP (GET nebo POST) neměl způsobit, aby webový server znovu vyžadoval uživatelský účet a heslo. Diskuse o metodách použitých k dosažení tohoto cíle naleznete v souboru cookie HTTP a ID relace

V situacích, kdy více webových serverů musí sdílet znalosti o stavu relace (jak je typické v prostředí klastru ), musí být informace o relaci sdíleny mezi uzly clusteru, na nichž je spuštěn software webového serveru. Metody sdílení stavu relace mezi uzly v klastru zahrnují: informace o relaci vícesměrového vysílání do členských uzlů ( jeden příklad této techniky viz JGroups ), sdílení informací o relaci s partnerským uzlem pomocí distribuované sdílené paměti nebo virtualizace paměti , sdílení informací o relaci mezi uzly pomocí síťové zásuvky, ukládání informací o relaci na sdíleném systému souborů, jako je distribuovaný systém souborů nebo globální systém souborů , nebo ukládání informací o relaci mimo klastr v databázi .

Je-li informace relace považována za přechodný, těkavé data, která není potřebná pro zajištění nepopiratelnosti transakcí a neobsahuje údaje, které jsou předmětem auditu shody (ve Spojených státech, například, viz přenosnosti zdravotního pojištění a odpovědnost Act a Sarbanes-Oxley Jednejte pro příklady dvou zákonů, které vyžadují audit dodržování předpisů), pak lze použít jakoukoli metodu ukládání informací o relaci. Pokud však informace o relaci podléhají souladu s auditem, měla by se zvážit metoda použitá pro ukládání relace, replikaci a shlukování.

V architektuře orientované na služby mohou být aplikace Simple Object Access Protocol nebo zprávy SOAP vytvořené pomocí zpráv XML (Extensible Markup Language ) používány spotřebitelskými aplikacemi k tomu, aby webové servery vytvářely relace.

Správa relací pomocí SMS

Stejně jako je HTTP bezstavový protokol , tak je tomu i u SMS . Jelikož se SMS v roce 1999 staly interoperabilními napříč konkurenčními sítěmi a textové zprávy začaly stoupat směrem ke všudypřítomné globální formě komunikace, různé podniky se začaly zajímat o využití kanálu SMS pro komerční účely. Počáteční služby nevyžadovaly správu relace, protože šlo pouze o jednosměrnou komunikaci (například v roce 2000 byla první mobilní zpravodajská služba doručována prostřednictvím SMS ve Finsku ). Dnes se tyto aplikace označují jako aplikace typu A2P (application-to-peer) na rozdíl od zpráv typu „ peer-to-peer“ (P2P) . Vývoj interaktivních podnikových aplikací vyžadoval správu relací, ale protože SMS je bezstavový protokol definovaný standardy GSM, časné implementace byly řízeny na straně klienta tím, že koncoví uživatelé zadávali příkazy a identifikátory služeb ručně.

Viz také

Reference

  1. ^ Protokol zaměřený na relace a protokol orientovaný na relace
  2. ^ Pokyny InterCarrier Messaging (PDF) , CTIA , vyvoláno 02.06.2018
  3. ^ Hppy bthdy txt! BBC News World Edition, http://news.bbc.co.uk/2/hi/uk_news/2538083.stm 3. prosince 2002.
  4. ^ GSM Doc 28/85 „Služby a zařízení poskytované v systému GSM“ rev2, červen 1985

externí odkazy