HTTP協議,即超文本傳輸協議(Hypertext transfer protocol)。是一種詳細規定了瀏覽器和萬維網(WWW = World Wide Web)服務器之間互相通信的規則,通過因特網傳送萬維網文檔的數據傳送協議。它允許將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器。
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協議或者其他協議。
微軟 .NET 平台針對 HTTP 的操作做了大量的封裝,讓開發者使用起來更加的簡單。在 System.Net 命名空間下提供了 HttpWebRequest 與 HttpWebResponse 類。.NET開發者使用這2個類即可實現客戶端與服務器的數據、Office文檔、圖片、音頻、視頻等文件的上傳與下載等功能。
本系列文章詳細介紹了 HttpWebRequest 與 HttpWebResponse 類以及其重要的屬性、方法,最后提供了封裝好的通用方法。
C# HTTP系列3 HttpWebRequest.ContentType 屬性
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 屬性
C# HTTP系列12 以form-data方式上傳鍵值對集合到遠程服務器
C# HTTP系列13 以form-data方式上傳多個文件以及鍵值對集合到遠程服務器
源碼下載鏈接: https://pan.baidu.com/s/1bYh2COYxxeG1WIYJt6Wsnw 提取碼: ysqd