有人说HTTP没有会话概念,因为HTTP是无状态的。 这是真的吗?那是为什么?
感谢。
答案 0 :(得分:1)
这是在HTTP设计期间做出的设计决策。动机似乎是可扩展性和响应时间。如果一个Web服务器要为1亿个并发用户提供服务,并且每个用户都要存储100字节的状态信息,那么这将是10GB的信息需要查询实际(读取RAM)时间并在给出响应之前进行处理。在设计协议时,这是一项重大挑战。除了在HTTP主动为用户提供服务时会出现此问题,保持状态信息会在设置新请求(分配空间,绑定到会话等)和错误处理(例如用户关闭其浏览器)时产生大量需求在中间)等等。例如,TCP(HTTP运行)具有会话概念。在设计加速TCP的解决方案时,发现设置,拆除和错误处理是最难加速的部分,因为它更容易加速实际的数据传输。
也就是说,cookie在客户端存储信息并创建会话印象。