This is in the context of my [bismon][1] program (GPLv3+, on github, still unreleased, alpha-stage), which is mostly a [single-page web application][2] (with a garbage collected DSL in it) which uses the [libonion][3] HTTP server library (so `bismon` is a specialized web server). Most of the HTML + Javascript + C code of bismon is (or will be and should be) generated (it is a reflexive and bootstrapped DSL). BTW, I am writing a preliminary technical report on it (an early draft of which, *very incomplete*, is [here][4] in fall 2018), on which feedback by email to me would be appreciated.

A web server can manage sessions with [cookies][5]. So it would create cookie for each session (after some HTML login form has been presented and successfully filled). On the server side, each cookie is associated with session-specific data.

However, the same session can be visible in several tabs (of e.g. a Firefox browser). Just because the end-user would (for example) "Open Link in New Tab" (with the right-button mouse click) on a given existing hyperlink. My web server would then receive new HTTP requests (probably some `GET` one), but I don't understand well enough all the details of HTTP to understand what (probably which [HTTP request header field][6]) is carrying that information.

What motivates my question is garbage collection (of my application, viewed as a multi-tiered application like [ocsigen][7] is, so running both on the web server side and in the browser). *Conceptually* all of the data both in server and in the browser has to be garbage collected by `bismon` and lives together (of course I know that the web is about distributed & client/server processing). With a single tab it is just keeping appropriate references (to what is displayed by the browser) in the session data (server side). But with additional tabs for the same session things are more complex.

To rephrase my question: what distinguish, in HTTP requests providing from the *same* browser instance (e.g. the same Firefox process on my Linux desktop) with the same cookie, the various tabs shown by it (to the *same* web server)? 


  [1]: https://github.com/bstarynk/bismon
  [2]: https://en.wikipedia.org/wiki/Single-page_application
  [3]: https://www.coralbits.com/libonion/
  [4]: http://starynkevitch.net/Basile/bismon-doc.pdf
  [5]: https://en.wikipedia.org/wiki/HTTP_cookie
  [6]: https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
  [7]: http://ocsigen.org/