“请求/响应”(Request/Response)模型一种通用的网络模型架构。
运用此模型可轻易存取Web资源,简化跨越网络的数据传输操作。它支持HTTP、FTP等通用的网络协议。
一、“请求/响应”模型
原理网上有很多,请参看
理解HTTP协议的Request/Response(请求响应)模型
http://blog.csdn.net/huan_mie/article/details/6092469(入门,比较形象)
http请求响应模型 (渐入,接近代码)
http://www.cnblogs.com/pingguohua/articles/687856.html
二、架构
“请求/响应”模型在System.Net命名空间内;内含WebResponse与WebRequest两个最重要的基础类。
“请求/响应”架构支持http和file两种协议操作的类。
http由HttpWebRequest及HttpWebResponse类支持,file由FileWebRequest 与 FileWebResponse类支持。
这两组类是基类WebResponse及WebRequest的衍生子类。
除http和file两种协议之外,System.Net命名空间下,还有支持传输协议(FTP)的类:FtpWebRequest与FtpWebResponse,它们分别也是WebRequest与WebResponse 的子类。
1、WebRequest 类及 WebResponse 类
“请求/响应”设计模型的核心基类,WebRequest类提出要求,而WebResponse类则对应做出响应。它分别支持http、file及ftp三种协议。
2、 FileWebRequest 类与 FileWebResponse 类
支持以file为前缀、提供本机文件存取的URI协议。
3、 HttpWebRequest 类以及 HttpWebResponse 类
支持HTTP网络协议,直接与HTTP网络进行沟通。
4、 FtpWebRequest 类与 FtpWebResponse 类
.NET 2.0的新增类,支持FTP配置的网络资源。以TCP网络为基础,客户端 与FTP服务器之间,经由传送FTP指令进行沟通,完成文件的上传下载操作。
5、WebClient 类
提供从网络特定URI上传或是下载数据所需的功能, 同时提供与数据流结合的数据读写方法。