HttpRequest 和HttpWebRequest的区别

 我来答
爱哭不是宇
2017-03-24 · TA获得超过104个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:435万
展开全部
System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等

而System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应

第一:他们不是父子关系。

第二:Syste.Net.HttpWebRequest 类是System.Net.WebRequest抽象类的一个子类,它是
.NET Framework 的用于访问 Internet
数据的请求/响应模型的抽象基类。使用该请求/响应模型的应用程序可以用协议不可知的方式从 Internet
请求数据。在这种方式下,应用程序处理 WebRequest 类的实例,而协议特定的子类则执行请求的具体细节。

System.Net.HttpWebRequest 类和System.Net.FileWebRequest都继承了WebRequest

1、FileWebRequest 类为使用 file:// 方案来请求本地文件的 URI 实现 WebRequest 抽象基类。

2、HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。

第三:System.Web.HttpRequest 类使 ASP.NET 能够读取客户端在 Web
请求期间发送的 HTTP 值。HttpRequest 类的方法和属性通过
HttpApplication、HttpContext、Page 和 UserControl 类的 Request
属性公开。

所以使用System.Web.HttpRequest类的时候其实都是利用HttpApplication、HttpContext、Page
和 UserControl 类的 Request
属性。而使用System.Net.HttpWebRequest类时是为了获得一个Uri资源。自己创建。

System.Web 命名空间提供使得可以进行浏览器与服务器通信的类和接口。此命名空间包括 HttpRequest 类(用于提供有关当前
HTTP 请求的广泛信息)、HttpResponse 类(用于管理对客户端的 HTTP 输出)以及 HttpServerUtility
类(用于提供对服务器端实用工具与进程的访问)。System.Web 还包括用于 Cookie 操作、文件传输、异常信息和输出缓存控制的类。

System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。WebRequest 和 WebResponse
类形成了所谓的可插接式协议的基础,可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet
资源的应用程序,而不必考虑各种不同协议的具体细节。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式