What are some advantages and drawbacks of stateless applications?
In the fundamental design of user interfaces, engineers can choose from stateless or stateful systems. A stateless system is one that has no resident memory used to store information between sessions. Stateful systems, on the other hand, will put input into resident memory and store it for future operations.
One of the best examples of stateless applications is the HTML applications used to run internet sites and pages. These applications are stateless as they do not keep and store information about users or user activity after a user has left a site.
As a result, webpages rely on small digital files called cookies to store user information. The cookies will be actively used in future sessions to determine who is accessing the system and what they have done in the past.
Some of the biggest benefits of stateless applications is that the maintaining parties don't have the responsibility of managing the resident memory. Stateless applications can be less costly than a similar stateful application. They can also be less complex, as there’s no requirement to take in data and keep it on hand, to record it for use later. Every session is brand new and the same programming occurs.
The downside of stateless applications is that, as mentioned, they will not keep information about a particular user session. This issue is evident in the design of cookies to handle user session information on the internet. Generally speaking, using cookies is less efficient than any in-memory system would be. Webmasters have the responsibility of manipulating and maintaining the cookies. So stateless systems are inherently less capable. It may be annoying to users to not have certain session information stored. Customers may feel that stateful capability adds value.
In the end, whether to choose stateless or stateful design depends on the specific uses of the software itself. For example, public kiosk systems can benefit a great deal from stateless technologies. There’s often no need to preserve data between sessions, as numbers of public users handle the system in sequence. For more personalized systems, stateful design can add a lot of convenience and desired functionality.
Tags
Written by Justin Stoltzfus | Contributor, Reviewer

Justin Stoltzfus is a freelance writer for various Web and print publications. His work has appeared in online magazines including Preservation Online, a project of the National Historic Trust, and many other venues.
More Q&As from our experts
- What is the difference between little endian and big endian?
- How can unstructured data benefit your business's bottom line?
- What are some of the dangers of using machine learning impulsively without a business plan?
Related Terms
- Stateful Inspection
- Application Awareness
- HTML 4.0
- Web 1.0
- Feature Creep
- Widget
- Intentional Software
- Application Lifecycle Management
- Input/Output
- ACD Canvas
Related Articles

An Introduction to HTTP Cookies

Why Cookies Are Getting Stale

3 Defenses Against Cyberattack That No Longer Work
Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
- The CIO Guide to Information Security
- Robotic Process Automation: What You Need to Know
- Data Governance Is Everyone's Business
- Key Applications for AI in the Supply Chain
- Service Mesh for Mere Mortals - Free 100+ page eBook
- Do You Need a Head of Remote?
- Web Data Collection in 2022 - Everything you need to know