curl -i -v https://域名
是看什么的?
這個(gè)命令是一個(gè)功能強(qiáng)大的網(wǎng)站/HTTP(S)服務(wù)診斷工具,主要用于在命令行下詳細(xì)檢查目標(biāo)網(wǎng)站或服務(wù)的 HTTP(S) 響應(yīng)和連接過程。具體來說,它查看:
-i
(–include):- 在輸出中包含 HTTP 響應(yīng)頭。
- 你會(huì)看到服務(wù)器返回的狀態(tài)碼(如
200 OK
,301 Moved Permanently
,404 Not Found
,500 Internal Server Error
等)以及各種重要的響應(yīng)頭信息,例如:Content-Type
: 返回內(nèi)容的類型(如text/html
,application/json
)。Content-Length
: 返回內(nèi)容的大小。Location
: 重定向的目標(biāo)URL(常見于 301, 302 狀態(tài)碼)。Set-Cookie
: 服務(wù)器設(shè)置的Cookie。Cache-Control
,Expires
: 緩存控制信息。Server
: 服務(wù)器軟件信息(如 Nginx, Apache)。Date
: 響應(yīng)時(shí)間。Connection
: 連接狀態(tài)。- …以及其他自定義或標(biāo)準(zhǔn)響應(yīng)頭。
-v
(–verbose):- 提供極其詳細(xì)的過程輸出。
- 這會(huì)顯示整個(gè)請(qǐng)求和響應(yīng)的完整交互過程,包括:
- TCP 連接建立過程(連接到哪個(gè)IP和端口)。
- TLS/SSL 握手過程(如果使用HTTPS):
- 使用的協(xié)議版本(TLS 1.2, TLS 1.3)。
- 服務(wù)器證書信息(頒發(fā)者、有效期、域名是否匹配等)。
- 協(xié)商的加密套件。
- 完整的 HTTP 請(qǐng)求頭(包括你發(fā)送的
Host
,User-Agent
,Accept
等)。 - 完整的 HTTP 響應(yīng)頭(與
-i
包含的相同,但-v
本身也會(huì)輸出)。 - 響應(yīng)正文(HTML, JSON 等)。
- 連接關(guān)閉信息。
- 如果發(fā)生重定向,
-v
會(huì)詳細(xì)顯示每一次重定向請(qǐng)求和響應(yīng)的全過程。
總結(jié)來說,執(zhí)行 curl -i -v https://域名
主要目的是:
- 診斷網(wǎng)站訪問問題: 快速查看服務(wù)器返回的狀態(tài)碼和錯(cuò)誤信息,定位是客戶端錯(cuò)誤(4xx)、服務(wù)器錯(cuò)誤(5xx)還是重定向(3xx)。
- 檢查響應(yīng)頭信息: 了解服務(wù)器設(shè)置(內(nèi)容類型、緩存策略、Cookie、安全策略如CSP/HSTS等)。
- 分析重定向鏈: 清晰地看到請(qǐng)求被重定向了多次的完整路徑。
- 驗(yàn)證 HTTPS/TLS 連接: 檢查證書是否有效、是否過期、域名是否匹配、使用的協(xié)議和加密套件是否安全。
- 調(diào)試 API 接口: 查看API返回的原始響應(yīng)頭和狀態(tài)碼。
- 查看服務(wù)器信息: 了解網(wǎng)站使用的服務(wù)器軟件。