The behavior in 4 is not the If-Range + Range behavior. The latter is about what happens when the contents have changed; the behavior in 4 is not about changed content, but about a range request which starts after the end of the file on the server.
The behavior in 4 is not the If-Range + Range behavior. The latter is about what happens when the contents have changed; the behavior in 4 is not about changed content, but about a range request which starts after the end of the file on the server.