Clear the heap?

Thank you for all the replies. This is day four of running smoothly. I will look into all of your suggestions. It's getting cold here in Minnesota so it's gotta work.
As far as the keep-alive, the original sketch that I used for this code also hosted the web page on the SD card. I host it somewhere else now and it never occurred to me to change it.
Since the page is hosted elsewhere, would it make more sense for the server to respond with its' data and then close the connection and wait for a new one? Again, I have no other experience with this.

Also, since the page source is not available to any of you, I thought I'd share what's actually being sent from the web page:

server = "http://192.168.1.177/getIO/" //internal.
 
request.open("GET", server + tH + eH + mH + tN + nocache, true);
request.send(null);
setTimeout('GetArduinoIO()', 1000);
tH = "";
eH = "";
mH = "";
tN = "";

where tH, eH, mH, tN are "%1" - "%8" depending on which button was pressed. The server code looks for "%" and then sends the next character to change variables accordingly in sendCommands(). The whole GET request is approx 62 characters including the nocache random numbers.

I looked into CORS OPTIONS request and found some good explanations but I don't really understand them. Again, all of the web has been hacked together and modified by trial and error.