深入研究“用ASP上载文件”(一)

2016-01-29 17:15 1 1 收藏

深入研究“用ASP上载文件”(一),深入研究“用ASP上载文件”(一)

【 tulaoshi.com - ASP 】

      现在“瘦客户”的观点已经是一个神话了,但随着电视或掌上型浏览器的繁荣,这一状况会有所改变。今天绝大多数的网络客户仍使用功能强大的PC,附着着大量的客户端存储器和客户端感兴趣的内容。在Internet协议下,将文件传递到中央服务器有一些方法可供选择,但基于WEB的文件上载比其它方法都要高级。下面来检验这一点。
一、HTTP与FTP的方式比较


   为什么要上载?

  
   文件上载对任何网络应用程序来说都起到重要作用。这里有一些例子,是关于我们的一些客户如何把文件上载并他们的WEB应用程序结合起来的:

   1、基于WEB的e-mail形式,用文件上载给邮件信息增加附件
   2、外部互联网应用程序用文件上载在伙伴间传送文件,如协议证明、软件更新或文件
   3、技术支持站点用文件上载从用户中接收错误记录和有问题文件
   4、企业内部互联网的文献出版用友好的网络接口在用户间分享文件
   5、图形库用文件上载控制提交、产生略图
   6、ISP主机店面用文件上载发送产品图象

   HTTP与FTP的方式比较

   在TCP/IP的早期,FTP是向服务器传输文件的标准机制。它可靠、可接受文本和二进制格式,客户可以在任何地方执行,但是它远远不及HTTP的适应性强。下面来比较一下:

   ■ 可靠性:用FTP上载,要么管理大量的用户帐号,要么就允许匿名访问。用WEB应用程序上载,应用程序可以确定允许谁上载,免除了极大的管理负担。

   ■ 安全性:通过HTTP上载可用SSL编码,这样一来信息可以在传输过程中加密。用FTP就无法作到。

   ■ 配置难易:FTP上载要求管理员精确地调节NTFS许可。用基于HTTP的上载和应用程序,管理员和应用程序都可以决定,如果需要的话。

   ■ 适应性:你想在一个地方存储DOC文件,在另一处存储图形吗?使用FTP的话,用户必须知道这些存储路径。而在WEB应用程序中,你可以自行控制,不用打扰用户就可以进行修改。

   ■ 能力:用WEB应用程序,每次调用都可以动态地控制上载文件的大小,甚至可以根据同一个表单中的信息改变大小。另外还可以冲掉符合一定标准的上载文件,如错误的MIME类型或文件类型。

   ■ 界面的简易友好性:招人喜欢的网页可以提供指导、建议、在线帮助,而基于批处理的FTP是不可能作到的。更重要的是发生错误时,WEB方式可以立刻向用户提供反馈并作出纠正。

   ■ 防火墙支持:出于安全和知识产权方面的考虑,许多机构不允许外部的FTP。通过简单的配置,大多数防火墙都支持HTTP。

   ■ 补充信息:一个HTTP上载(用RFC1867)还提供其它可用信息,例如用户的原始文件名,这在内部互联网环境下特别有用。

   ■ 上载到一个数据库:利用服务器端组件,如SA-FileUp,允许上载到OLE DB数据库。但用FTP,却绝对做不到这点!

   ■ 性能:FTP和HTTP最终都是用TCP协议,这是决定传输性能的决定因素。

   ■ 可靠性及重新上载:FTP和HTTP 1.1都允许传输重新启动。不幸地是许多服务器包括IIS,现在都不能支持任意一种协议的重新上载功能。FTP的重新上载功能将在IIS5版本中实现。

   总之,同WEB本身一样,服务器的可编程性使HTTP上载比FTP具有极大的优势。

   HTTP上载格式

   通过HTTP上载有三种文件机制,它们是RFC1867、PUT和WebDAV。

   HTTP上载方法1:RFC1867

   HTML 3.2最终推出W3C之前的一段时期,RFC1867 (http://info.internet.isi.edu/in-notes/rfc/files/rfc1867.txt) 是IETF的建议标准。首先是Netscape在Navigator 2.0中运行,跟着Microsoft 把它作为IE 3.02 (32-bit) 的附加和IE 3.03 (16-bit)的自带内容。它是一个非常简单但又很强大的概念:定义一个格式域的新类型

   < INPUT TYPE= "FILE"
   然后向表单中填加不同的编码方案:
   < FORM ACTION="formproc.asp" METHOD="POST" ENCTYPE="multipart/form-data"
   而不是用典型的:
   < FORM ACTION="formproc.asp" METHOD= "POST"

   在传输大量数据时,这种编码方案比默认的"application/x-url-encoded"格式编码方案效率高。正如你也许知道的,URL可用的字符集是很有限的。任何超出范围的字符集都要用'%nn'来代替,在这里nn是相应的两位十六进制数。即使是最常用的空格字符也要用'%20'来代替。如果浏览器不得不用效率如此低的编码方法对整个文件进行编码,那么上载文件的传输规模有可能比原始文件大2到3倍。而RFC1867用Multipart MIME编码,就象通常在e-mail信息中所见到的,在传输大量数据时不用编码,而只是在数据周围有几个简单有用的头。

   结果看起来就象一个规则的HTML POST表单,实现上,通过4 KB的表单格式,代表的数据可以是几兆字节。RFC1867还提出了一些有待被浏览器提供者采纳的建议,

来源:https://www.tulaoshi.com/n/20160129/1500795.html

延伸阅读
    现在使用FoxMail的用户越来越多了,但是FoxMail却不像OutLook一样给编程人员提供开发接口。我认为这对一个好的软件的推广来说是很不利的。前几个月小弟由于开发需要对FoxMail进行了以下研究,这几天闲下来将材料整理了一下,供大家参考。我使用FoxMail4.2进行研究,但是在FoxMail5.0推出后,我也进行了测试,仍然使用。 ...
标签: ASP
  用ASP编写虚拟社区、网上购物等程序时,Application和Session对象具有举足轻重的作用,能够灵活合理地运用这两个对象是提高程序质量的关键。下面让笔者根据自己在这方面的经验,向大家深入介绍一下ASP的这两个内建对象。 一、Application对象的成员概述 Application对象成员包括Application对象的集合、方法和事件。 ⒈A...
标签: ASP
  二、Session对象的成员概述 Session对象的成员比Application对象多一项属性,即:集合、属性、方法、事件 ⒈Session对象的集合 Contents :没有使用<OBJECT元素定义的存储于特定Session对象的所有变量的集合。 StaticObject:使用<OBJECT元素定义的、存储于Session对象中的所有变量的集合。 例:在defau...
标签: ASP
  三、Global.asa ASP的Application和Session对象体现了其他ASP内置对象所没有的特征--事件。每一个访客访问服务器时都会触发一个OnStart事件(第一个访客会同时触发Application和Session的OnStart事件,但Application先于Session),每个访客的会话结束时都会触发一个OnEnd事件(最后一个访客会话结束时会同时触发Application和Sess...
Minbear (dev-club) 相信很多人都做过安装程序,目前最大功能最全的当属InstallShield,但是InstallShield的语法学习起来实在费劲,相对而言vs.net自带的安装部署短小精悍,且使用C#语法,对于一般C#开发者来说使用起来就极为简便,在对其作了一些研究之后,发现vs.net的安装部署项目的功能也已经非常好用,一般的程序安装都可以轻松实现,当...

经验教程

102

收藏

5
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部