Ajax 谷歌文档自动保存是如何工作的?

Ajax 谷歌文档自动保存是如何工作的?,ajax,google-docs,Ajax,Google Docs,好吧,我知道这听起来很普通。但我的意思是在AJAX级别上。我曾尝试使用Firebug跟踪网络连接和帖子,这是一个谜。有人知道他们是如何在不破坏网络/浏览器的情况下实现即时自动保存的吗?我的猜测(这只是猜测)是谷歌使用推送服务。这似乎是最可行的选择,因为他们的聊天客户端(也集成在窗口中)也使用它以最小的延迟发送“实时”消息 我打赌他们有一个完整的设置来管理所有与连接相关的东西,并发送标志来触发特定的元素。您不会看到连接触发器,因为最初的页面访问建立了连接,然后在页面打开的整个过程中挂起。e、 g

好吧,我知道这听起来很普通。但我的意思是在AJAX级别上。我曾尝试使用Firebug跟踪网络连接和帖子,这是一个谜。有人知道他们是如何在不破坏网络/浏览器的情况下实现即时自动保存的吗?

我的猜测(这只是猜测)是谷歌使用推送服务。这似乎是最可行的选择,因为他们的聊天客户端(也集成在窗口中)也使用它以最小的延迟发送“实时”消息

我打赌他们有一个完整的设置来管理所有与连接相关的东西,并发送标志来触发特定的元素。您不会看到连接触发器,因为最初的页面访问建立了连接,然后在页面打开的整个过程中挂起。e、 g

  • 您可以访问该页面
    • 浏览器建立了到[example]api.docs.google.com[/example]的连接并保持打开状态
  • 然后,客户端代码发送各种命令并接收各种响应
  • 这些命令来回发送,直到您:
    • 失去连接(超时等),在这种情况下会重新建立连接
    • 浏览器窗口已关闭
  • 我如何看待一个典型的沟通示例:

    SERVER:                              CLIENT:
    -------                              -------
                                         DOC_FETCH mydocument.doc
    DOC_CONTENT mydocument.doc 15616 ...      
                                         DOC_AUTOSAVE mydocument.doc 24335 ...
                                         IM collaboratorName Hi Joe!
    IM_OK collaboratorName OK
    AUTOSAVE_OK mydocument.doc OK
    
    其中,
    DOC\u FETCH
    命令表示我需要数据。服务器用相应的
    文档内容答复。然后客户端触发
    DOC\u AUTOSAVE
    。考虑到潜在的同时请求的数量,我敢打赌它们会在请求/响应中保留“上下文”,以便在发送某个内容后可以进行匹配。在本例中,它知道
    IM_-OK
    匹配第二个请求(
    IM
    ),而
    AUTOSAVE_-OK
    匹配第一个请求(
    AUTOSAVE
    )——类似于AOL的IM协议的工作方式

    同样,这只是一个猜测

    --


    为了证明这一点,请使用ethereal之类的工具,看看您是否可以看到信息在后台传输。

    window.setInterval
    使用AJAX和一些条件?不确定这是否正确-如果您查看控制台,它似乎并没有对@Brad Christie的答案做太多感谢,然而,我不清楚如何实现它。