Where is the "existing loaded template" kept server-side, sticky session cache? Seems maybe better for scale to send the whole small html and let client diff-apply.
In theory the server doesn’t care about this because the idea is that you’re requesting something that is generating a complete new template.
What turbolinks does is looking at the difference between whatever you have loaded in the browser and whatever was sent by the server.
So if you have 10 images loaded and one changed, turbolinks it’s only going to swap the one that changed.
Have in mind that we are talking about plain HTML likely gzipped blobs. So although this is not efficient it’s still fast enough for simple app layouts.