HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通讯的规则,经过因特网传送万维网文档的数据传送协议。它容许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。html
HTTP是一个简单的请求-响应协议,它一般运行在TCP之上,是一个无状态的协议。它指定了客户端可能发送给服务器什么样的消息以及获得什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具备一个相似MIME的格式。浏览器
在Internet中全部的传输都是经过TCP/IP进行的。HTTP协议做为TCP/IP模型中应用层的协议也不例外。HTTP协议一般承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了咱们常说的HTTPS。以下图所示:服务器
HTTP默认的端口号为80,HTTPS的端口号为443。微信
浏览网页是HTTP的主要应用,可是这并不表明HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通讯的双方都遵照这个协议,HTTP就能有发挥其强大的功能。好比办公经常使用的微信、QQ、迅雷、百度网盘、大型游戏、云服务器等都会使用到HTTP协议或者其余协议。ide
微软 .NET 平台针对 HTTP 的操做作了大量的封装,让开发者使用起来更加的简单。在 System.Net 命名空间下提供了 HttpWebRequest 与 HttpWebResponse 类。.NET开发者使用这2个类便可实现客户端与服务器的数据、Office文档、图片、音频、视频等文件的上传与下载等功能。spa
本系列文章详细介绍了 HttpWebRequest 与 HttpWebResponse 类以及其重要的属性、方法,最后提供了封装好的通用方法。orm
C# HTTP系列2 HttpWebReponse 类htm
C# HTTP系列3 HttpWebRequest.ContentType 属性blog
C# HTTP系列4 HttpWebRequest.CookieContainer 属性
C# HTTP系列5 HttpWebResponse.StatusCode 属性
C# HTTP系列6 HttpWebResponse.StatusCode 响应代码中文详解
C# HTTP系列7 HttpWebRequest.Method 属性
C# HTTP系列10 form表单的 enctype 属性