DEV Community

Cover image for Difference Between Local Storage And Session Storage and cookies in the browser
ishrat
ishrat

Posted on

Difference Between Local Storage And Session Storage and cookies in the browser

Local Storage, Session Storage, and Cookies are all methods for storing data on the client's browser, but they have distinct characteristics and are used for different purposes.

Local Storage

  • Persistence: Data persists even when the browser is closed and reopened. It remains until explicitly cleared.
  • Storage Limit: Generally allows for about 5MB of data.
  • Scope: Accessible from any window/tab of the same origin.
  • Use Case: Ideal for storing non-sensitive data that needs to persist across sessions, like user preferences.
  • Example:
  // Setting a theme preference
  localStorage.setItem('theme', 'dark');
Enter fullscreen mode Exit fullscreen mode

Session Storage

  • Persistence: Data is stored for the duration of the page session. It is cleared when the tab or window is closed.
  • Storage Limit: About 5MB, similar to local storage.
  • Scope: Data is only accessible within the same tab or window.
  • Use Case: Suitable for data that should only be retained during a single session, like data for a multi-step form.
  • Example:
  // Storing form progress
  sessionStorage.setItem('formStep', '1');
Enter fullscreen mode Exit fullscreen mode

Cookies

  • Persistence: Can be set to expire at a specific date or after a certain amount of time. They persist across browser sessions until they expire.
  • Storage Limit: Much smaller, typically limited to about 4KB per cookie.
  • Scope: Sent with every HTTP request to the server, making them suitable for server-side reading.
  • Use Case: Used for session management, personalization, and tracking. Crucial for authentication purposes.
  • Example:
  // Setting a cookie
  document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2024 12:00:00 UTC; path=/";
Enter fullscreen mode Exit fullscreen mode

Key Differences

  • Persistence: Local Storage is permanent, Session Storage is temporary (per tab/window), and Cookies can be customized.
  • Capacity: Local and Session Storage offer more space (5MB) compared to Cookies (4KB).
  • Accessibility: Local and Session Storage are only accessible on the client side, while Cookies are sent to the server with each request.
  • Use Case: Local Storage for long-term data, Session Storage for temporary tab/window-specific data, and Cookies for server-side readable data, authentication, and tracking.

Security Considerations

  • Sensitivity: Avoid storing sensitive data in all three, especially Cookies, as they are transmitted with every HTTP request.
  • HTTPOnly Cookies: Use the HTTPOnly flag for cookies to prevent client-side script access, enhancing security for sensitive data like session identifiers.

Best Practices

  • Storage Usage: Use Local and Session Storage for larger amounts of data and Cookies for smaller pieces of data that need server-side access.
  • Data Sensitivity: Handle all data with care, considering privacy and security implications.

As a software engineer, especially with your background in web technologies, understanding these differences is vital for making informed decisions about data storage in your web applications.

Top comments (0)