5 ms·
cgi-bin didn’t give you the ability to update a chat page across several different windows in near real-time.
by jshen 6y ago
cgi-bin didn’t give you the ability to update a chat page across several different windows in near real-time.
- naikrovek 6y agoIt did if you used XMLHttpRequest.
- jshen 6y agoIf you type a chat message in your browser, how does it automatically show up in my browser with XMLHttpRequest?
- icedchai 6y agoIn old school chat rooms, this was usually done by polling for new messages every X seconds, or doing a refresh / reload of an IFrame containing the chat.
- jshen 6y agoI know, I wrote many of those, it’s a much worse solution than this.
- fzzzy 6y agoLong Polling is how we used to do it. The web page opens a request to the server but the server does not reply. Once the event happens on the server, the server replies to the old request and the client opens a new request.
- jshen 6y agoYup, this is much better than that, and nicely integrated for you.
- fzzzy 6y agoI think in Netscape 4 you could also make a request in an iframe which the server responded to with Content-Type: application/javascript and Transfer-Encoding: chunked. Then every time the server got an event it would write one chunk of javascript, which the client would execute immediately. This script could then call a callback in the parent frame.
- webmaven 6y ago> cgi-bin didn’t give you the ability to update a chat page across several different windows in near real-time. Servers could maintain an open connection and stream new data to the browser.
- forgotmypw5 6y agoin no way elegant, but yes, with js, it's possible with netscape 3 and up, possibly with 2. html, http, js, css are pretty thorough in their design, and it shows. all the features described here are possible without any frameworks, this is merely a much easier way to build it than from scratch.
- jshen 6y agoYes, but I was replying to someone who said that we got all of this with cgi-bin. That’s like saying, “I can code a modern app in assembly, therefore there’s been no progress here”.