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 屬性