in reply to SessionID on a windows server

Any insights as to why this would be?

Because you wrote it that way? :D

one problem is passing/accepting sessionid through urls

the other is accepting sessionid without further checks, like "-ip_match" that ikegami mentions, that prevent

The simplest solution is to use secure cookies (don't really have to write much if any extra code, all the popular frameworks support it in one way or another)

Dancer2::Session::Cookie - Dancer 2 session storage in secure cookies
Plack::Middleware::Session::Cookie also does tamper evident cookies ( base64 encoded, HMAC SHA1 signed ) "secure" cookie means tamper-evident/tamper-proof/tampering-obvious , Just remember that all session data gets serialized with Mojo::JSON and stored in HMAC-SHA1 signed cookies, which usually have a 4096 byte limit, depending on browser.

A better solution is to use HTTP digest authentication... but it requires a tad more work on the javascript end ...