Most Efficient Way of Combining Large Strings for HTML Response

Yes I understand. Some of the HTML is static (i.e. config/settings), but others are dynamic (i.e. a history log table). I think some of these alternatives are likely the direction I'll go.

But I was still just curious how to crack this nut using some variation of concatenation, for future reference and to store in my mental toolbox. For that, it sounds like you are recommending automatic variables, which is a term I've come across in my research, but I'll now explore those more. Today, my HTML variable is a global variable that gets set in each page handler function. I am tracking the free memory now and see it consistently going down with time as the program cycles increase. I'm guessing this is because the HTML history log table gets longer with time.

The learning curve has been a little steep coming from C#, especially string manipulation, which I've always taken for granted in my environments that are not constrained like these hardware devices. So thank you for your constructive help and advice in my journey!

6v6gt:
The general point was that if you use static HTML (or other Web objects), maybe stored in flash memory using either SPIFFS methods or PROGMEM, you don't have to do long concatenations. You simply stream the data collections you have to the browser.

If you are, however, joining lots of data together, it is usually best to use automatic variables so the stack memory they have occupied is cleaned up when their containing function terminates. On the ESP8266 you have, by default, 4K bytes of stack available. Strings, or more direct types of memory allocation like malloc/free use the heap and may not be so nicely cleaned up, leading to fragmentation and possible allocation failure.