So when session works actually something(cookie) is also stored in browser for the purpose of maintaining unique interaction to that browser (and server in the form of session).
yup. a cookie is passed to the browser which it then sends along with every request; session_start() uses it to pull the information for the session each time you load a page.
There is a global expiry on sessions; if a session is unused for X minutes (default: 15), PHP will clean up its session directory and remove the file. Then when your browser tries to send session information, PHP will start a new session (remember I said my code is extremely simplified).
There exists (or did exist, i’ll be honest everyone uses cookies now, so I havent checked in a LONG time) a means to make PHP not use cookies; it instead would tack your session ID onto the end of any internal URL’s. Which… as you can imagine, isnt the most secure thing in the world…