[发明专利]一种基于RFC1867规范的HTTP协议的文件上传方法有效

专利信息
申请号: 200810119142.4 申请日: 2008-08-28
公开(公告)号: CN101662484A 公开(公告)日: 2010-03-03
发明(设计)人: 王劲林;白鹤;苏孝强 申请(专利权)人: 中国科学院声学研究所
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 北京法思腾知识产权代理有限公司 代理人: 杨小蓉
地址: 100190北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 rfc1867 规范 http 协议 文件 上传 方法
【说明书】:

技术领域

发明涉及互联网HTTP领域,特别涉及一种基于RFC1867规范的HTTP协议 的文件上传方法。

背景技术

文件上传是互联网的一项基本应用,现有上传技术按照架构可以分为两类:C/S 模式和B/S模式。C/S模式上传技术,需要在客户端和服务器端安装专门软件,功能 强大,但操作复杂、移植不便。常见的有FTP以及版本管理软件。HTTP是一种基 于请求/响应(B/S)模式的协议,一个客户机与服务器建立连接后,发送一个请求给 服务器,请求包括:请求的方法、URI(Uniform Resource Identifier)、协议版本号。 随后还有MIME(Multipurpose InternetMail Extension protocol)信息:包括请求修饰 符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式 为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信 息包括服务器信息、实体信息和可能的内容。而基于FORM表单的文件上传,文件 的信息和内容正是封装在MIME信息内发送到服务器端的。B/S模式上传技术包括 了三类机制:RFC1867、PUT和WebDav。遵循RFC1867规范的上传方法因为定制 部署方便的优势,现今获得广泛应用,主流的浏览器、Web服务器和服务器端语言 都对此规范有很好的支持,它在用户端的基本形式是浏览器中的Form表单,图1为 RFC1867协议流程,处理步骤如下:

1、用户在浏览器端填写特定类型(multipart/form-data)的Form表单,并提交;

2、服务器监听HTTP服务端口(一般80),接收表单混合数据;

3、Web服务器按照RFC1867规范解析表单,使用服务器端程序(PHP、JSP、 ASP)的接口变量获得解析后的内容进行处理;

4、返回给用户执行结果。

RFC1867上传方法通用性强,服务器端不需要提供Web外其它服务,但是其可 控性差,不会即时解析上传过程的进度信息,无法获得即时状态;而且表单上传会 受到Web服务器对每个进程分配内存大小的限制,使得上传的文件存在连接时间和 文件大小方面的限制,对大文件支持不好,这就导致了封装RFC1867协议的第三方 组件大量出现:

1、JAVA实现的组件

常用的有Commons-fileupload和smartupload:前者的缺点是把上传数据流全部 写入内存,导致内存占用过多,并在上传大文件时会受到web服务器限制;后者是 Jakarta一个项目中的组件,没有进度控制,用户体验不好。目前的上传组件支持进 度显示,基于JAVA实现的接收文件处理服务需要经过虚拟机层的编译,效率不高。 另外存在Java实现的Applet小程序,可以嵌入网页,绕开RFC1867实现上传,其 本质是一个小客户端,并且需要安装额外的JVM插件。

2、ASP实现的组件

常用的有SlickUpload、SAFileUp,其性能优越,但是需要付费,源码没有公开, 就不能根据具体需求适应更改更新,而且使用ASP语言只能适用于Windows IIS服 务器。

3、Activex上传组件

使用ASP调用组件,可以完成较丰富的上传功能,但是因为安全性因素,Activex 控件在用户端会被浏览器控制选项禁用。

发明内容

本发明的目的在于,为了克服现有技术当中Web服务器对文件长度和传输时间 限制、上传组件可控性差、不支持上传进度、可扩展性差、移植部署不便的缺点, 提供一种基于RFC1867规范的HTTP协议的文件上传方法,通过将数据上传至非 HTTP指定端口,由自己的数据处理段进行接收和解析,实现了可移植性好的对大文 件支持组件;并且通过异步通信获得实时进度进行显示。

所述文件上传方法是基于UGiA-PHP-UPLOADER组件的系统架构,实现客户端 进度控制,服务器端数据接收、按照RFC1867协议的即时解析和状态日志读取,包 括以下步骤:

(1)浏览器提交的步骤,是指终端用户在浏览器中填写基于RFC1867规范、 属性设置为“multipart/form-data”的表单,然后提交到客户控制端;

(2)客户控制端控制的步骤,是指客户控制端向服务器端上传表单数据并与服 务器端通信,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810119142.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top