curl -v
Set-Cookie
Content-Type
Accept
GET /path HTTP/1.1
HTTP/1.1 200 OK
curl -v https://example.com/ 2>&1
>
<
curl -sI https://example.com/
Name: value
名稱: 值
Host
Cookie
Referer
Authorization
Location
Server
Retry-After
Content-Length
Content-Encoding
ETag
Cache-Control
Connection
Via
Transfer-Encoding
有些頭部是嚴格單向的:If-None-Match 只可能出現在請求裡,Set-Cookie 只可能出現在響應裡。按錯誤的方向去解析是除錯時最經典的複製貼上錯誤之一,所以本頁會把它標出來。
If-None-Match
RFC 9110 把欄位行定義為 field-name ":" OWS field-value OWS —— 名稱只能由 token 字元構成(字母、數字和 !#$%&'*+-.^_`|~),冒號前面不能有空格,值由可見字元、空格和製表符組成。頭部名稱不區分大小寫(content-type 等於 Content-Type);值幾乎總是區分大小寫。以空格或製表符開頭的行曾經用來延續上一個頭部 —— 即 obs-fold,2014 年起已廢棄:把它展開的代理可能改變該頭部的含義,所以本頁解析器會合並它,但會警告你它存在。
field-name ":" OWS field-value OWS
!#$%&'*+-.^_`|~
content-type
X-Forwarded-For
Transfer-Encoding: chunked
X-
X-Content-Type-Options
在這裡貼上頭部安全嗎?解析完全在你的瀏覽器裡進行,不上傳任何內容。不過,複製來的頭部塊是一種指紋:Cookie、授權頭加上精確的 User-Agent 合起來可以識別你,所以只解析那些你不介意給同事看的塊。
為什麼我的瀏覽器顯示 :status 之類本頁判定為錯誤的頭部?那是 HTTP/2 與 HTTP/3 的偽頭部 —— 二進位制分幀層用偽欄位取代了起始行和 Host。本頁解析的是經典的 HTTP/1.1 線路文本;偽頭部是協議翻譯後的同一批資訊。
:status
X-XSS-Protection 怎麼了?它已廢棄:它驅動的審計器本身就製造了安全漏洞,瀏覽器已將其移除。它的職責屬於內容安全策略 —— 可在CSP 生成器上構建策略,並在安全頭部檢查器中審計整套設定。
X-XSS-Protection
Set-Cookie 的屬性是怎麼校驗的?依據 RFC 6265:名稱與值在第一個等號處拆分,屬性在第一個分號之後拆分,Expires 必須是 Cookie 格式的日期,Max-Age 必須是數字,SameSite 必須是 Strict/Lax/None 之一 —— 並且 None 缺 Secure 會被當前瀏覽器拒絕,所以本頁會把它標出來。
Expires
Max-Age
SameSite
None
Secure
能只解析一列頭部行嗎?可以 —— 選擇僅頭部塊並在沒有起始行的情況下貼上。方向檢查會放寬;其餘(結構、Set-Cookie、引數)依然照常執行。
版權所有 © 2007-2026 DIGITBYTE STUDIO 保留所有權利。