Home > Article > Backend Development > A brief discussion on the difference between cookie and session in php
Today I will bring you the differences between Cookie and Session and their respective application scopes. I think it is pretty good and I hope it can help you.
Cookie:
In the website, http requests are stateless. That is to say, even after connecting to the server and logging in successfully for the first time, the server still cannot know which user the current request is for the second time.
The emergence of cookies is to solve this problem. After logging in for the first time, the server returns some data (cookie) to the browser, and then the browser saves it locally. When the user sends a second request, The cookie data stored in the last request will be automatically carried to the server, and the server can determine who the current user is through the data carried by the browser.
The amount of data stored by cookies is limited. Different browsers have different storage sizes, but they generally do not exceed 4KB
. Therefore, cookies can only store a small amount of data.
session:
The functions of session and cookie are somewhat similar, both are to store user-related information.
The difference is that cookies are stored in the local browser, while sessions are stored in the server. Data stored on the server will be more secure and less likely to be stolen. However, storing it on the server also has certain disadvantages, that is, it will occupy the server's resources. But now that the server has developed so far, some session information is more than enough.
session is data in the format of key-value
, then its key session_id
is saved in the cookie, and the value session_data
is saved on the server. Get value through
key.
What is the difference between Cookie expiration and Session timeout?
The session timeout is maintained by the server and is different from the Cookie expiration date. First, sessions are generally based on memory-resident cookies, which are not persistent cookies and therefore do not have an expiration date. Even if the JSESSIONID cookie is intercepted, an expiration date is set for it and sent out. Browser sessions and server sessions can also be very different.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of A brief discussion on the difference between cookie and session in php. For more information, please follow other related articles on the PHP Chinese website!