I will try to explain it in a simple way.
Client-Side is what users see/ code, which is visible on the browser.
Client-Side programming focus on "how a page will look like" and its behavior over browsers.
- HTML is what we see.
- CSS decides its designing(Colours, Floating Images, Padding, etc.).
Server-Side Programming includes code which provides data to Client-Side. The user is never able to see the server-side.
Server Side Programming involves Programming Language(Java, PHP, .Net, C#, C, C++, NodeJS etc), Database(SQL, Oracle, MySql, PostgreySql, No-Sql, MongoDB, etc), Third Party API(Rest, Soap), Business Logic.
Server-Side Programming focus on "how to make data available for Client-Side."
- Server-Side Language is responsible for communicating between different sources of data like database, third-party API, file system, blockchain, etc.. These languages maintain a particular API for client-side to interact with.
- The database is responsible for storing information.
- Business Logic defines "how to use data and what to do with data."
Client-Side request data or request to store data, from Server-side via API provided by Server-Side. This request and response of data are done by following HTTP/FTP protocol like REST API, SOAP API.