Не стесняйтесь редактировать заголовок, если вы знаете, как лучше сформулировать вопрос. (Маркировка также является проблемой.) Проблема может быть слишком сложной в этой общей форме, поэтому давайте рассмотрим конкретный пример.
Вы получаете скриншот вопросов переполнения стека, запрашивая страницу /questions ?sort=newest
. Ссылка на следующую страницу ведет к /questions?page=2 &sort=newest
. Я предполагаю, что на стороне сервера запрос переводится в SQL-запрос с предложением LIMIT. Проблема с этим подходом состоит в том, что если новый вопрос был добавлен, когда пользователь просматривает первую страницу, его вторая страница начнется с некоторых вопросов, которые он уже видел. (Если у него есть 10 вопросов на страницу и 10 новых вопросов добавлено, он получит точно такой же контент во второй раз!)
Есть ли элегантный способ решить эту распространенную проблему? Я понимаю, что это не такая большая проблема, по крайней мере, не для stackoverflow, но все же.
Лучшая идея (кроме хранения истории запросов для каждого клиента) - использовать формат /questions?answer_id=NNN
. Сервер возвращает страницу, которая начинается с запрошенного ответа, и помещает идентификатор первого ответа на следующей странице в ссылку на следующую страницу. Для этого должен быть способ написания SQL, верно?
Это как обычно это делается? Или есть лучший способ?