1. A method for enabling two-way asynchronous communication between a client and a web server to occur using a single HTTP transaction, the method comprising: opening a single socket connection between a web server and a client, wherein the opening comprises the client opening a client-side component of the single socket and sending a notification to the web server, receipt of the notification causing the web server to open a server-side component of the single socket connection; communicating an HTTP request from the client to the web server over the one socket connection as part of the single HTTP transaction, wherein the HTTP request is a request for the web server to initialize a CGI that operates within or in conjunction with the web server; initializing, by the web server, the CGI after receiving the HTTP request from the client; executing, by the CGI after the CGI has been initialized, operations to enable two-way asynchronous communication between the client and the web server to occur over the one socket connection and wholly within the single HTTP transaction until the CGI operations are terminated by the client or the CGI; and closing, by the web server, the one socket connection after the CGI operations have been terminated.