How to implement the continuous snake body position following algorithm in the snake game

I want to make a demo of the Snake game, which is a bit different from the traditional Snake game. The snake body is required to be composed of different continuous models. For example, the body and tail models are different (in order to look real),
By understanding that continuous and smooth movement of the body requires the use of a spline mesh component,
When using the spline mesh component as the snake body, there are several problems when the snake head moves every frame:

  1. When moving at variable speeds, how should the start and end points of the snake’s multiple body spline mesh components be calculated?
  2. How to add a new body, especially if there is a new body added during the movement process, it should be placed so that it looks smooth and natural