sv.phhsnews.com


sv.phhsnews.com / Hur kan webbservrar lyssna på nya förfrågningar?

Hur kan webbservrar lyssna på nya förfrågningar?


När du lär dig om webbservrar och hur de fungerar kan du vara nyfiken om de ständigt lyssnar på förfrågningar eller om de väntar tills de får en begära att gå till handling. Med det i åtanke har dagens SuperUser Q & A-inlägg svaren för att tillfredsställa en läsares nyfikenhet.

Dagens Frågor och svar-session kommer till vårt tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Skärmdump med tillstånd av xmodulo / Linux Skärmdumpar (Flickr).

Frågan

SuperUser-läsare user2202911 vill veta hur webbservrar lyssnar på nya förfrågningar:

Jag försöker förstå detaljerna om "djupare nivå" av hur webbservrar fungerar. Jag vill veta om en server, till exempel Apache, ständigt pollar för nya förfrågningar eller om det fungerar av något slags avbrottssystem. Om det är ett avbrott, vad är gnistbrytningen?

Hur lyssnar en webbserver på nya förfrågningar?

Svaret

SuperUser-bidragsgivaren Greg Bowser har svaret för oss:

Det korta svaret är ett slags avbrottssystem . I huvudsak använder de blockering av I / O, vilket innebär att de sover (blockera) medan de väntar på nya data.

  1. Servern skapar ett lyssnande uttag och blockerar sedan i väntan på nya anslutningar. Under denna tid lägger kärnan processen i en avbrytbar sömn -stat och kör andra processer. Detta är en viktig punkt. Om processundersökningen fortlöpande skulle slösa bort CPU-resurser. Kärnan kan använda systemresurserna mer effektivt genom att blockera processen tills det finns arbete för att det ska göras.
  2. När nya data kommer in i nätverket, utlöser nätverkskortet ett avbrott.
  3. Se att det finns en avbryta från nätverkskortet, läser kärnan via nätverkskortdrivrutinen de nya data från nätverkskortet och lagrar det i minnet. (Detta måste ske snabbt och hanteras vanligtvis inom avbrottshanteraren.)
  4. Kärnan behandlar nyanlända data och associerar den med ett uttag. En process som blockerar den kontakten kommer att markeras löpande, vilket innebär att den nu är berättigad att köra. Det går inte nödvändigtvis omedelbart (kärnan kan besluta att köra andra processer fortfarande).
  5. I sin fritid kommer kärnan att vakna upp den blockerade webbserverprocessen. (Eftersom det nu kan köras.)
  6. Webserverprocessen fortsätter att utföra som om ingen tid har gått. Dess blockeringssystem återkallar och det behandlar ny data. Gå sedan till steg 1.

Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.


Stoppa huddling av uttaget: Längre smarttelefonkablar är smutsiga billiga

Stoppa huddling av uttaget: Längre smarttelefonkablar är smutsiga billiga

Smartphones och tabletter levereras nästan universellt med laddkablar på 3-4 fot. Det är bra och bra att ansluta enheten till laddning över natten, men det är en absolut eländig längd för att ansluta enheten och använda den. Börja med att leva ditt liv i ett utlopp och börja använda en lång kabel med gott om utrymme för aktiviteter.

(how-to)

Att köra för Uber verkar som ett ganska enkelt sätt att tjäna lite extra pengar, men det finns en handfull faktorer som gör det mer komplicerat än du kan förvänta sig.

Att köra för Uber verkar som ett ganska enkelt sätt att tjäna lite extra pengar, men det finns en handfull faktorer som gör det mer komplicerat än du kan förvänta sig.

Bilförsäkring kan vara en klibbig situation När jag tittade på att bli en Uber-förare kom det inte ens , men min hjärna klickade så snart jag såg ordet "försäkring" under registreringsprocessen. Det visar sig att de flesta försäkringsbolag inte erbjuder täckning om du använder din bil som en taxi av olika slag.

(how-to)