title: How do I make my Web Application stateless yet still do something useful?
body: <p>I've seen this advice...</p>
  
  <blockquote>
    <p>ideally the web should follow the REST principle and be completely stateless. Therefore a single URL should identify a single resource, without having to keep the navigation history of each user.</p>
  </blockquote>
  
  <p>...and I read the Wikipedia page <a href="http://en.wikipedia.org/wiki/REST" rel="nofollow noreferrer">http://en.wikipedia.org/wiki/REST</a> and it really sounds good, but I don't get how to actually implement it.  I'm working in ASP .NET Webforms NOT MVC.</p>
  
  <p>For example, in the application I am about to build - I need my user to Login before I allow them to do anything.  There are a couple of hoops they have to jump through before they are allowed to do much useful - like Accept T's and C's and confirm their basic details are unchanged.  Finally they are allowed to do something they really want like BuyAProduct!</p>
  
  <p>It seems to me (I come from the HEAVILY stateful world of the Rich client) that I need state to record what they have done and infer from that what they are allowed to do.  I don't see how I can support them (say) bookmarking the BuyAProduct URI.  When they arrive at the bookmark how do I know if they have logged in and if they agreed to the T's and C's and if they dutifully checked their basic details?</p>
  
  <p>I love the idea of the app being stateless, partly because it seems to completely solve the problem of "What the heck do I do when the user clicks on the Back and Forward buttons?"  I don't see how I can still get it to work properly.  I feel I am missing something really fundamental about this.</p>