http協議(hypertext transfer protocol,超文字傳輸協議)是用於從www伺服器傳輸超文字到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證計算機正確快速地傳輸超文字文件,還確定傳輸文件中的哪一部分,以及哪部分內容首先顯示(如文字先於圖形)等。http是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型。http是乙個無狀態的協議,同乙個客戶端的這次請求和上次請求是沒有對應關係。
一次http操作稱為乙個事務,其工作過程可分為四步:
首先客戶機與伺服器需要建立連線。只要單擊某個超級鏈結,http的工作開始;
建立連線後,客戶機傳送乙個請求給伺服器,請求方式的格式為:統一資源識別符號(url)、協議版本號,後邊是mime資訊包括請求修飾符、客戶機資訊和可能的內檔案的容;
伺服器接到請求後,給予相應的響應資訊,其格式為乙個狀態行,包括資訊的協議版本號、乙個成功或錯誤的**,後邊是mime資訊包括伺服器資訊、實體資訊和可能的內容;
客戶端接收伺服器所返回的資訊通過瀏覽器顯示在使用者的顯示屏上,然後客戶機與伺服器斷開連線
首先確定需要傳輸檔案的大小,訊息頭部的content-length欄位表示檔案的長度;
如果檔案大小無法確定則採用分塊傳輸的方式,將檔案分成多個部分進行傳送,此時在頭部增加transfer-encoding:chunked,存在這個頭部時不允許再加上content-length頭,即使有也會被忽略。
原始的post請求訊息體中是url編碼後的表單,格式為key=value,不同的key、value之間用&分隔。上傳二進位制的檔案時,可以用multipart/form-data的方式。
支援斷點續傳與多執行緒傳輸,這裡仍然是採用分塊傳輸的思想:如果傳輸中途終端,接下來可以從中斷的地方重新開始避免從頭開始的浪費,在多執行緒程式中,各個執行緒可以分別負責傳輸乙個檔案塊,然後將他們合併恢復成為原始檔案。
寫到這裡,太上皇對分塊傳輸編碼的方案感到迷惑,現在就去查一下相關的資料吧。
HTTP協議 超文字傳輸協議
http協議 超文字傳輸協議 瀏覽器與服務端之間傳輸資料的協議,底層的傳輸協議為tcp。http則為應用層協議,負責定義傳輸資料的格式。http協議分為1.0與1.1兩個版本。現在常用為1.1版本。協議規定客戶端與服務端通訊方式為 一次請求一次響應 即 客戶端發起請求,服務端接收到請求後向客戶端傳送...
HTTP協議(超文字傳輸協議)
一 http的簡介 超文字傳輸協議。它是基於tcp連線的 預設埠號是80 所以在傳輸資料前客戶端需向伺服器傳送連線請求。當伺服器同意連線請求,建立連線後才可以傳送資料報文。二 http的報文格式 首先http的報文分為 請求報文和響應報文 http請求報文 乙個http請求報文由請求行 reques...
傳輸層 http協議簡介
http協議是建立的tcp之上的,他是在網際網路上實現檔案傳輸的基本協議,與之合作的協議還有dns協議。服務端 乙個服務程序,不斷監聽80埠,客戶端 一般就是瀏覽器。http是無連線的,無狀態的協議。請求乙個全球資訊網文件的過程 文字描述,比如請求 1.用dns來解析網域名稱,獲得對應的ip位址 2...