bhe intanto questa lettura può esserti utile:

http://fr.php.net/manual/it/ref.session.php
http://fr.php.net/manual/it/features.cookies.php

Comunque il funzionamento in linea di massima è il seguente:

L'utente si autentica, tu apri la sessione con session_start, il server crea un nuovo id (se non glielo passi tu), e generalmente in una dir temporanea sul server crea il file di sessione (con il nome dell'id), dove ci è stato salvato l'array serializzato $_SESSION.

Questo file verrà fornito solo all'utente che fornirà l'id di sessione corretto.

In genere nel momento in cui viene aperta la sessione viene creato un file cookie sul client, il quale ha delle informazioni tra cui:

dominio che ha settato il cookie
scadenza (oltre il quale anche se c'è non verrà più letto)
variabili

Nelle variabili ci sarà il session_id, che il tuo browser fornirà al momento in cui apre la pagina, in modo da ritrovarsi i dati in sessione.
Ecco perchè in un browser non puoi ottenere 2 sessioni, perchè c'è un legame dominio->cookie, quindi quando ad esempio con firefox o ie vai ad aprire una scheda o una nuova finestra il browser una volta letto il dominio va subito a cercare un file con la corrispondenza, e lo usa per autenticarsi.


Questo è il comportamento standard, poi per alcuni server le sessioni vengono configurate per salvare i dati su un db del server piuttosto che su un file.

Per firefox esistono anche delle estensioni per editare/cancellare i cookie in modo semplice (molto comode in fase di debug).

ciao
Ciao