Pagination in Web content (HTML, ASP, PHP, and others) 
On the Internet, pagination is used for such things as displaying a limited number of results on search engine results pages, or showing a limited number of posts when viewing a forum thread. Pagination is used in some form in almost every web application to divide returned data and display it on multiple pages. Pagination also includes the logic of preparing and displaying the links to the various pages.
Correctly implementing pagination can be difficult. There are many different usability questions such as should “previous” and “next” links be included, how many links to pages should be displayed, and should there be a link to the first and last pages. Also ability to define the number of records displayed in a single page is useful.
Server side pagination is best for:
- Large data set
- Faster initial page load
Client side pagination is best for:
- Small data set
- Faster subsequent page loads
If you have large pages and a large number of pages you are better of requesting pages in chunks from the server via AJAX. So let the server do the pagination, based of your request URL.
You can also pre-fetch the next few pages the user will likely view to make the interface seem more responsive.
If there are only few pages, grabbing it all up-front and paginating on the client may be a better choice
ToDO: understand how it is implemented in the client-side