如何实现有状态HTTP协议?

时间:2009-12-21 06:18:07

标签: http

如果没有我们目前使用的涉及查询字符串,隐藏字段,Cookie和会话状态的hackish变通方法,我们究竟如何才能将状态添加到http?

3 个答案:

答案 0 :(得分:6)

不会。 HTTP中的一个基本假设是客户端正在请求页面,并且页面或多或少是静态的(可能带有一些额外的参数,cookie等)。每个请求都是独特且个性化的,并且协议不是真正设计为有状态的 - 这极大地简化了客户端和服务器的实现。

跟踪状态是一个更高级别的功能 - 分别留给服务器或客户端。

这些解决办法是出于某种原因的原因:HTTP主要是无国籍的。 “有状态”HTTP是不可能的,因为它不再是真正的HTTP,它是完全不同的东西。

答案 1 :(得分:2)

状态HTTP可能看起来很像FTP,telnet或IM。基本上有状态的任何东西都意味着我们正在跟踪连接的状态数据,当连接丢失时,丢失(暂时或永久)。

HTTP最初是作为无状态协议,旨在降低传输数据的复杂性,并允许客户端根据需要处理请求资源,而不是假设它们都是当前会话的一部分(如FTP所做的那样) 。

答案 2 :(得分:-1)

这不会直接回答您的问题(其他人已经这样做了),但如果您正在研究双向通信部分如何工作,您可能会对HTML5 Web Sockets API感兴趣。