4 ms·
I would ocassionally see dynamic web pages with .exe extensions before 2000s. I assume Windows IIS was also CGI capable and people were building dynamic web han
by eknkc 4y ago
I would ocassionally see dynamic web pages with .exe extensions before 2000s. I assume Windows IIS was also CGI capable and people were building dynamic web handlers in whatever language, compiling down to an executable.
It makes perfect sense but always felt out of place to me for some reason.
- HeckFeck 4y agoI recall eBay used to have ISAPI.dll in most of its request URLs. It bewildered my younger self who thought DLLs were only for a Windows machine, not a web server.
- mrweasel 4y agoA previous employer of mine build a CMS for newspapers, written in Delphi and ran on Windows under IIS, it too was had a .dll extension. I believe it was the same IIS API (ISAPI) that made it work. It was an insane product that had simply failed to move forwards. It's not that you can't do what you need to do using the ISAPI, but the ecosystem is just to small for things like the Delphi stuff and keeping up with expectations of customers becomes to much work.
- HeckFeck 4y agoIt's impressive that anything that built the correct DLL could be leveraged by it. But I assume ISAPI didn't have anything like CPAN or pip. It seems likely you'd have to write everything yourself - perhaps worthwhile if you were a very large corporation with the manpower. But something as simple as PHP would swamp it for the rest of us.
- RedShift1 4y agoIIS was and still is CGI capable, but starting a process on Windows is a very heavy weight thing (compared to starting a process on linux), so it doesn't scale well and a noticeable initial delay whenever it executes. To solve that MS made ISAPI, which runs inside the webserver similar to an Apache httpd module.
- Semaphor 4y agoUntil early 2009, we ran a PHP website under IIS via an ISAPI FastCGI module that executed PHP :D
- cassepipe 4y agoIn the CGI RFC, IIRC they say that what they call a script can totally be a binary. The fact that execve on linux can take a script with a #! shebang makes it it easy to implement, you don't have to care whehter you are exec'ing a binary or a script.