Questo è nel contesto del mio bismon (GPLv3 +, su github, ancora inedito, alpha-stage), che è principalmente applicazione web a pagina singola (con un DSL garbage collection in esso) che utilizza libonion Libreria server HTTP (quindi bismon
è un server Web specializzato). La maggior parte del codice HTML + Javascript + C di bismon è (o sarà e dovrebbe essere) generata (è un DSL riflessivo e bootstrap). A proposito, sto scrivendo un rapporto tecnico preliminare su di esso (una bozza iniziale della quale, molto incompleta , è qui nell'autunno 2018), su cui mi sarebbe stato gradito un feedback via email.
Un server web può gestire sessioni con cookie . Così creerebbe i cookie per ogni sessione (dopo che un modulo di login HTML è stato presentato e riempito con successo). Sul lato server, ogni cookie è associato a dati specifici della sessione.
Tuttavia, la stessa sessione può essere visibile in diverse schede (ad esempio un browser Firefox). Solo perché l'utente finale (ad esempio) "Apri link in una nuova scheda" (con il clic del tasto destro del mouse) su un dato collegamento ipertestuale esistente. Il mio server Web riceverà quindi nuove richieste HTTP (probabilmente un po ' GET
), ma non capisco abbastanza bene tutti i dettagli di HTTP per capire cosa (probabilmente quale campo dell'intestazione della richiesta HTTP ) sta trasportando tali informazioni.
Ciò che motiva la mia domanda è la garbage collection (GC distribuito della mia applicazione, vista come un'applicazione multi-livello, basata sulla continuazione, come ocsigen è, quindi, in esecuzione sia sul lato web server e nel browser). Concettualmente tutti i dati sia nel server che nel browser devono essere spazzati via da bismon
e convivono (ovviamente so che il web riguarda l'elaborazione distribuita e client / server). Con una singola scheda è sufficiente mantenere i riferimenti appropriati (a ciò che viene visualizzato dal browser) nei dati della sessione (lato server). Ma con schede aggiuntive per la stessa sessione le cose sono più complesse. Il lavoro di Queinnec su Continuazioni e server web e Modelling Web Interactions su carta di Graunke et al., sono perspicaci.
Per riformulare la mia domanda: cosa distingue, nelle richieste HTTP che forniscono dalla stessa istanza del browser (ad esempio lo stesso processo di Firefox sul mio desktop Linux) con lo stesso cookie, le varie schede mostrate da esso ( allo stesso server web)?