The statelessness constraint is there to provide for cacheability; so that resource usage doesn't scale on a per-connection basis. HTTP's architectural constraints might not always be the best fit for your application's architecture, but the constraints aren't arbitrary.