HTTP 的后台任务

  众所周知 HTTP 协议是无保持连接的,HTTP 1.1 虽然实现了保持连接的能力,但依然无法在连接上实现交互功能。浏览器给服务器发送一个 GET 请求,然后等待服务器返回数据,完成一个数据交互处理。问题就是出在等待返回这点,当有一个不需要服务器返回数据,但需要服务器处理一定的操作时,就显得这个等待是没有必要的。

举个比较长见的例子:

一个使用 Javascript (或图片) 方式记录的统计程序,需要用户每次打开页面都在服务器端做记录操作,而我们不需要收取服务器端返回的任何结果,只要服务器能做计数的操作就可以了。

虽然是 Javascript 或图片的调用,但在页面在浏览器渲染并显示给用户的过程,依然会造成一定的延时。如果我们能把这个没用的等待剔除,就可以加快页面的加载速度。

  但这个应用非常特殊,正常来说根本没有这样的 web server 支持 _-!!,我在 google 查阅过一些资料,可以使用给浏览器发送 Header : Content-Length: 0 的方法来实现 ,经过测试在未经过 nginx 的情况下确实能够令到浏览器停止加载,但如果前端有 nginx 就没有任何效果了。

  如需要 100% 的效果,只能从 web server下手,在收到 GET 请求时就直接返回一个内容,但继续进入 PHP 处理接下来的数据操作。

  Yo2 的页面访问都是经由 yo2cache 处理的,so 我们很容易就实现了这项功能 :)

  • http://blogtd.org 乖乖@blog图党

    沙发!

  • oneoo

    [Comment ID #277863 Will Be Quoted Here]

    杜绝此类评论,哇哈哈

  • 乖乖@blog图党

    没办法,内容完全看不懂^_^

  • k

    拉到一半缩回去了

  • http://cwsh.yo2.cn 双子座的流星雨

    看不太懂哦,正在研究中