http協議: 請求響應舉例
一個HTTP響應代表服務器向客戶端回送的數據,包括:一個狀態行、若干消息頭、以及實體內容 。
狀態行
格式: HTTP版本號 狀態碼 原因敘述<CRLF>(如:HTTP/1.1 200 OK)
狀態碼:用於表示服務器對請求的處理結果,它是一個三位的十進制數。
一些狀態碼的意義:
100~199表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程
200~299表示成功接收請求並已完成整個處理過程,常用200
300~399爲完成請求,客戶需進一步細化請求。例如,請求的資源已經移動一個新地址,常用302、307和304
400~499客戶端的請求有錯誤,常用404
500~599服務器端出現錯誤,常用 500
響應頭
Location:服務器通過這個頭告訴瀏覽器去訪問哪個頁面,這個頭通常配合302狀態碼使用
Content-Encoding: 服務器通過這個頭告訴瀏覽器,回送的數據採用的壓縮格式
Content-Length: 服務器通過這個頭告訴瀏覽器,回送的數據的大小
Content-Type: 服務器通過這個頭告訴瀏覽器,回送數據的類型
Last-Modified: 服務器通過這個頭告訴瀏覽器,資源的最後修改時間
Refresh:服務器通過這個頭告訴瀏覽器,定時刷新網頁
Content-Disposition: attachment; filename=aaa.zip:服務器通過這個頭告訴瀏覽器,以下載方式打開數據
ETag: W/"7777-1242234904000":緩存相關的頭,爲每一個資源配一個唯一的編號
HTTP請求頭字段
Range頭指示服務器只傳輸一部分Web資源,可以用來實現斷點續傳功能。
Range設置要傳輸的字節範圍:
Range: bytes=1000-2000(傳輸範圍從1000到2000字節)
Range: bytes=1000-(傳輸Web資源中第1000個字節以後的所有內容)
Range bytes=1000(傳輸最後1000個字節)
HTTP響應消息頭字段
Accept-Ranges:說明Web服務器是否支持Range。若支持,返回bytes;若不支持,則返回none.
Content-Range:指定返回的Web資源的字節範圍。
格式爲:Content-Range:Range字段(如:Content-Range:1000-3000/5000