首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

HTTP 訊息頭字段完整解析:通用、請求、回應頭核心字段與實測驗證

     編輯:Java 相關知識

前言

HTTP 訊息頭決定了客戶端與伺服器的協商行為。本文分類整理通用頭、請求頭、回應頭的核心字段,並以自製 HTTP 模擬器實測驗證 Connection、Range/Content-Range 等字段的實際效果。

一、通用頭字段

字段說明
ConnectionClose:單次請求後關閉;Keep-Alive:持久連接(HTTP/1.1 預設)。實測:Close 讀完資料 read() 立即返回 -1;Keep-Alive 需等待逾時。
Date訊息建立時間,GMT 格式(北京時間 -8 小時)。
Content-Length實體內容位元組數。POST 必須提供;回應中指示資源大小。

二、請求頭字段

字段說明
Host必填。目標主機名與端口(端口為預設 80 可省略)。缺少回 400。
Accept可接收媒體類型,如 image/gif, image/jpg,優先順序按序。
User-Agent客戶端身分,伺服器可依此輸出差異化內容。
Range斷點續傳關鍵。三種格式:bytes=1000-2000(區間)、bytes=1000-(從 1000 到尾)、bytes=1000(最後 1000 位元組)。

三、回應頭字段

字段說明
Accept-Rangesbytes 支援範圍請求;none 不支援。
Content-Range格式 bytes m-n/k:k 為資源總大小。實測驗證 Content-Length 僅為本次傳輸量,Content-Range 才含總大小。
Location重導向新 URL,配合 3xx 狀態碼實現透明遷移。

實測案例

使用 HTTP 模擬器連接 files.cnblogs.com,請求 Range: bytes=1000-,回應頭顯示 Accept-Ranges: bytes、Content-Range: bytes 1000-.../總大小,確認伺服器支援斷點續傳。

結語

熟悉核心頭字段語意與組合,能精準控制 HTTP 行為(持久連接、範圍請求、快取、重導向),是網路程式開發與除錯的基本功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved