How to slice/split a string by delimiter

6v6gt:
I beg to differ. This advice was OK when most users were using an Arduino say of the AVR class with 1 or 2 k of RAM. Now the Arduino IDE supports devices with around 80k of RAM like ESP or ARM class processors. This will only improve.

Then you would be wrong. This is not just my opinion, this is an industry position. You've been here long enough to have seen this information. Microsoft says "No, not even on servers with GB of RAM." If nothing else, read The Evils of Arduino Strings.

Still think it's ok to use the String class? Willful Ignorance.

I know that some people have difficulty accepting that all their old knowledge is now of no use.

This is not an attempt to preserve "old ways". If you read the information above, you'll see that it all says to "move on" from random-size dynamic memory allocations that are used by String.

This is an attempt to help new users avoid the frustration of going down the wrong path.

the Arduino environment was designed to support even people who just want to light a few leds and basic things like that

Implementing a web server is quite a bit more complicated than lighting a few LEDs. The required libraries use significant portions of RAM, leaving too little room for String to maneuver.

With more information from the OP, we can suggest any number of "modern" strategies: Finite-state Machines, memory pools, string classes with deterministic behavior, streaming operators, etc. Until then, recommending a basic approach is all we can do.

Cheers,
/dev