En server skiljer mellan två webbläsarapplikationer som har åtkomst till samma HTTP -filer samtidigt genom en kombination av tekniker, främst roterande kring
klientidentifierare och
Connection Management :
1. IP -adresser och portar: Varje webbläsarapplikation, även på samma maskin, ansluter till servern från en unik kombination av IP -adress och portnummer. IP -adressen identifierar klientens nätverksplats, och portnumret skiljer olika applikationer som körs på den maskinen. Medan flera webbläsarinstanser på samma maskin kan dela samma IP -adress (ur serverns perspektiv), kommer de att ha olika portnummer tilldelade sina anslutningar. Servern använder denna kombination för att spåra enskilda förfrågningar.
2. http -rubriker: HTTP -förfrågningar inkluderar rubriker som innehåller information om klienten och begäran. Viktiga rubriker som används för identifiering inkluderar:
* `user-agent`: Denna rubrik identifierar webbläsaren och operativsystemet. Även om det inte är helt unikt, hjälper det att skilja mellan olika webbläsare eller webbläsarversioner.
* `anslutning`: Denna rubrik anger om anslutningen ska hållas öppen för efterföljande förfrågningar (ihållande anslutning) eller stängs efter den aktuella begäran.
* kakor: Cookies är små data som lagras på klientens maskin och skickas med varje efterföljande begäran. De tillåter servern att spåra en specifik användare eller session över flera förfrågningar. Medan cookies kan delas över flikar, kan de fortfarande hjälpa till att differentiera användare om korrekt cookiehantering används.
* Begär rubriker: Andra rubriker kan innehålla unika identifierare som tilldelats av applikationen eller webbläsaren, vilket ytterligare förbättrar identifiering.
3. Session Management: För interaktiva webbapplikationer använder servrar ofta sessioner. Ett session -ID (ofta lagrat i en cookie) tilldelas varje användare när de startar en session. Efterföljande förfrågningar från samma användare inkluderar session -ID, vilket gör att servern kan upprätthålla tillstånd och identifiera användarens interaktioner över flera förfrågningar.
4. Anslutningsspårning: Servern upprätthåller en anslutningspool och håller reda på öppna anslutningar från olika klienter. Varje anslutning är associerad med en unik identifierare (t.ex. en socketbeskrivning) som gör det möjligt för servern att bearbeta förfrågningar oberoende för varje anslutning.
I huvudsak fungerar servern som en växel, tar emot förfrågningar från olika källor (webbläsarinstanser identifierade via IP:port och rubriker) och riktar dem på lämpligt sätt baserat på den information som tillhandahålls. Även om flera förfrågningar anländer samtidigt, bearbetar servern dem en efter en eller samtidigt med trådar eller processer, vilket upprätthåller sammanhanget för varje begäran genom informationen i själva begäran och dess tillhörande anslutning.