29Jul

Jak mohou webové servery poslouchat nové požadavky?

click fraud protection

Když se učíte o webových serverech a jak fungují, možná budete zvědaví, pokud neustále poslouchají o požadavky nebo čekají, až obdrží požadavek na akci. S ohledem na to má dnešní příspěvek SuperUser Q & A odpovědi na uspokojení zvědavosti čtenáře.

dnešní otázka &Odpověď na zasedání se k nám dostala s laskavým svolením SuperUser - podřízenou výměnou Stack Exchange, skupině webů Q & A založených na komunitě.

Screenshot s laskavým svolením screenshotů xmodulo / Linux( Flickr).

Otázka Otázka

Reader user2202911 chce vědět, jak webové servery naslouchají novým požadavkům:

Snažím se pochopit podrobnější informace o tom, jak fungují webové servery. Chci vědět, jestli server, například Apache, neustále vyhledává nové žádosti nebo funguje nějakým systémem přerušení.Je-li to přerušení, co způsobuje přerušení?Je to ovladač síťové karty?

Jak webový server naslouchá novým požadavkům?

Odpovědí odpověď

přispěvatele SuperUser Greg Bowser má pro nás odpověď:

Krátká odpověď je nějaký systém přerušení.V podstatě používají blokování I / O, což znamená, že spí( blokují) při čekání na nová data.

instagram viewer

  1. Server vytvoří sluchátkový soket a při čekání na nová připojení blokuje blokování.Během této doby jádro přenáší proces do stavu přerušení spánku a spouští další procesy. To je důležitý bod;nepřetržitý průběh průzkumu procesu by způsobil ztrátu zdrojů CPU.Jádro je schopno efektivněji využívat systémové prostředky tím, že zablokuje proces, dokud nebude pracovat.
  2. Když do sítě přicházejí nová data, síťová karta vydá přerušení.
  3. Vidí-li síťová karta přerušení, jádro prostřednictvím ovladače síťové karty čte nová data ze síťové karty a ukládá je do paměti.(Toto musí být provedeno rychle a je obecně řešeno uvnitř obslužného programu přerušení.)
  4. Jádro zpracovává nově přijímaná data a sdružuje je s konektorem. Proces blokující tento soket bude označen jako spustitelný, což znamená, že je nyní možné spustit. Není nutně okamžitě spuštěn( jádro se může rozhodnout, že další procesy budou spuštěny).
  5. Ve svém volném čase jádro probudí blokovaný proces webového serveru.(Protože je nyní spuštěn.)
  6. Proces webového serveru pokračuje v provádění, jako kdyby uplynul žádný čas. Jeho blokovací systémový hovor se vrátí a zpracovává všechna nová data. Pak přejděte ke kroku 1.

Musíte přidat něco k vysvětlení?Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.