1.HTTP的特点是什么?分别从Windows应用程序和web应用程序,说明.net提供了哪些对HTTP封装的技术?
从应用的角度来说,HTTP主要有一下特点
(1)http以tcp方式工作。
(2)http是 无状态的。
(3)http使用元信息作为表头。
在Windows应用程序中,.NET提供了以下类对HTTP进行封装:
(1) WebRequest类和HttpWebRequest类。
WebRequest是.NET Framework的请求/响应模型的抽象(abstract)基类,该类专用于访问Internet数据。HttpWebRequest类是针对于HTTP的特定实现,该类通过HTTP和服务器交互。
(2) WebResponse类和HttpWebResponse类。
WebResponse类也是一个抽象基类,针对HTTP的响应类是派生自WebResponse类的HttpWebRequest类。HttpWebResponse对象是通过调用WebRequest实例的GetResponse方法来创建的,而不是利用构造函数创建HttpWebResponse类的实例。
ASP.NET应用程序提供了以下类对HTTP进行封装:
(1) HttpRequest类:它的方法和属性是通过ASP.NET的内部Request对象公开的。
(2) HttpResponse类:它的方法和属性是通过ASP.NET的内部Response对象公开的。
另外,Windows应用程序和Web应用程序都提供了Uri类,该类定义了属性和方法来处理URI,包括分析、比较和组合。
2.简单说明下载文件时如何实现断点续传。
(1)利用httpWebResponse的ContentLength属性获取下载文件的长度。
(2)利用httpWebRequest的AddRange方法指定下载文件费数据范围。例如request.AddRange(5001,10000)表示下载的范围从5001字节开始到10000字节处结束。
编写代码实现断点续传时,只需要记住成功下载文件的字节数,当需要从断点处继续下载时,根据已经下载的内容,重新指定下载的范围即可。