What is best or common way to handle pagination on rest api?
RFC 5005RFC 5005 describes link relations for communicating the semantics of paging links to generic clients. It looks about as you expect - each relation includes an identifier of the resource of the appropriate page.
It also specifically introduces a distinction between pagedpaged feeds (which are lossy) and archivedarchived feeds (which are not lossy). That gives clients a way to choose the appropriate strategy for their use case.
As you noticed, that doesn't solve the problem of choosing the correct identifiers to use. A good approach is described in Working With Timelines.
You could use headers, I suppose, but this is the sort of thing I would expect to see in the effective request identifier; each "page" is a different resource, and the meta data allows you to control the caching rules for the different pages from the origin.