代码之家  ›  专栏  ›  技术社区  ›  Arne

如何在处理头之后立即重定向HTTPPOST请求?

  •  0
  • Arne  · 技术社区  · 14 年前

    在windowsce上,我目前的情况是,我们从头开始实现一个简单的web服务器。此服务器的主要用途是一对一USB RNDIS连接。服务器由设备上运行的托管应用程序托管。

    现在,问题是:应用程序的web界面中的一个页面允许上传一个软件更新,其大小可以是11到40 MB。在处理这个POST请求时,我们有各种验证步骤,比如基于会话cookie的权限系统。由于会话cookie,我们知道是否允许客户端在处理完所有头文件后立即上载软件更新。有没有什么方法可以避免阅读(和丢弃)所有的帖子内容,让用户得到即时的反馈?

    2 回复  |  直到 14 年前
        1
  •  0
  •   ctacke    14 年前

    浏览器希望完全传输。为用户提供更好的响应性的方法可能是在页面上使用AJAX调用,因此页面应该进行AJAX调用,以异步地将实际上载发布到另一个页面,而不是接收数据的页面。我自己也会用jQuery来完成这项工作,但是您可以在没有任何框架的情况下组装脚本,这样做相当容易。

        2
  •  0
  •   Arne    14 年前

    因为我最近仔细查看了相关的RFC:

    Expect: 100-Continue
    

    这告诉服务器检查请求头并返回“好的,您现在可以开始向我发送实际内容”或“对不起,无论您打算向我发布什么,我都无法处理它”的响应(有关更精确的技术细节,请参阅 the HTTP 1.1 RFC

    但是,这并不能解决我的场景,因为典型的用户代理(firefox3.6,ie8)在发布多部分/表单数据时不使用此功能。但是,手工生成的助手应用程序可能希望利用此功能。