Vad är webbsessioner? – ELI5

Foto av Markus Spiske på Unsplash

Spoiler Alert – Om du förväntar dig att lära dig vilken metod du använder för att hämta en session och vilken metod som används för att hämta ett attribut (getAttribute), så är det inte rätt ställe. Om du vill lära dig kodning av sessioner kan du gå över till andra webbplatser. Här kommer du att förstå vad exakt en session är och hur den fungerar. Och om du är ett proffs kan du ignorera den här bloggen eftersom den inte erbjuder dig någonting.

Jag hade ett fel på sessioner i den applikation jag arbetade med och för att avsluta mitt tvivel och åtgärda det var jag tvungen att lära mig A till Z om sessioner och förstå det. Till saken… och en sak till ELI5 betyder Explain Like I am 5.

Vi måste veta vad en HTTP-förfrågan är innan vi går till session. HTTP-förfrågan är en begäran som din webbläsare skickar till servern.

Vad är en begäran? Ingenting men jag vill ha det här, kan du ge det till mig

Vad är en begäran? (Programvarutermer) Webbläsaren använder HTTP för att skicka data och servern tar emot data och svarar på begäran för att ge det som webbläsaren vill ha.

Vad är data här? Hur ser data ut? Förfrågningsdata är ett ren textdokument som är strukturerat på ett exakt sätt som bestäms av kommunikationsprotokollet. Det har 3 delar line,header och body. Det finns flera typer av HTTP-förfrågningar också. Du kan googla mer om detta.

Nu tillbaka till vår första rad ”HTTP Request is a request which your browser sends to the server.”

Vad är en server? En server kan vara ett enkelt datorprogram eller en enhet som finns för att uppfylla din begäran. Hur uppfyller den din begäran? Den har ett program som körs på den och som bearbetar din begäran och ger ett svar till webbläsaren . Hur ser servern ut? Den har allt som din dator har moderkort, mikroprocessorer, nätverksportar, nätverksanslutningar och mycket annat.

Det är dags att förstå vad som är en session?

Vi antar att det inte finns någon session i programvaruvärlden. Och vid denna tidpunkt surfar du på Facebook. Du har just loggat in och ser din startsida. Efter en tid har du klickat på dina vänners sida, men innan den visar dig den begärda sidan ber den dig att logga in igen. Varför bad den dig att logga in igen? Därför att servern inte har någon information om vem användaren är. Föreställ dig att detta händer med varje sida du besöker på Facebook, du skulle bli förbannad.

Sessioner ger webbutvecklaren möjlighet att lagra information om användaren/klienten. All användarinformation lagras när du loggar in. Detta lagras i en databas. Nu kan användaren surfa smidigt i programmet eftersom servern har information om användaren.

Hur skapas en session?

Här måste du veta att din HTTP-förfrågan inte har någon aning om vad som är en session och servern har ingen aning om vad som är en session. Den är enbart skapad av webbutvecklaren för att lagra information om klienten. En session i en server genomförs med hjälp av flertrådiga processer eller delprocesser. Som webbutvecklare har vi klasser och metoder för att skapa en ny session, få tillgång till den aktuella sessionen och lagra information i den. Varje användare har sin egen session och när flera användare har tillgång till ett program får varje enskild användare en session som underhålls av servern.

Hur identifierar en server vilken användare som tillhör vilken session?

För att svara på detta måste jag förklara vad en cookie är?

Det är en fil med en liten mängd data som lagras i klientdatorn i ett nyckel- och värdeparformat som läses av både klient och server. Uppgifterna innehåller information om användaren.

Vem skapar kakan? Cookie skapas av servern. Den lägger till data och paketerar den i en cookie som skickas till webbläsaren. Nu varje gång en förfrågan sker från webbplatsen och träffar servern, begär servern kakan från webbläsaren. Webbläsaren skickar kakan via en HTTP-förfrågan. Eftersom cookien innehåller användarinformation läser servern den och laddar webbsidan baserat på data från cookien.

Sessionen har en unik identifierare som kallas session token Id/session ID. Servern skapar en variabel som representerar viss sessionsinformation och lagrar den i kakan. Resten av processen är precis som förklarat ovan. På detta sätt identifierar servern vilken användare som har tillgång till webbplatsen.

Slutsats

Jag rekommenderar att du implementerar en kundvagn eller en bankapplikation i ett valfritt programmeringsspråk som du föredrar och tillämpar sessioner i det för att helt förstå begreppet sessioner, förfrågningar och cookies. Du kan hitta hur man kodar överallt utom här. När du har gjort det går du vidare till nästa nivå genom att genomföra säkerhetskoncept för dessa områden. Det handlar inte bara om att lagra och använda data, utan om hur säkert du lagrar och använder data. Ha en bra dag.

Vad du har lärt dig –

  1. Vad är en begäran?
  2. Vad är begärsdata här? Hur ser data ut?
  3. Vad är en server?
  4. Vad är en session?
  5. Hur skapas en session?
  6. Vad är en cookie?
  7. Vem skapar en cookie?
  8. Hur servern upprätthåller flera sessioner?

Mer information om data relaterad till:

HTTP cookie

HTTP request

Session wiki

Server