2024.10.16

xxc666發表於2024-10-19

伺服器的響應如下:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 21932
Content-Encoding: gzip
Cache-Control: max-age=300

...網頁資料... 伺服器響應的第一行總是版本號+空格+數字+空格+文字,數字表示響應程式碼,其中2xx表示成功,3xx表示重定向,4xx表示客戶端引發的錯誤,5xx表示伺服器端引發的錯誤。數字是給程式識別,文字則是給開發者除錯使用的。常見的響應程式碼有: 200 OK:表示成功; 301 Moved Permanently:表示該URL已經永久重定向; 302 Found:表示該URL需要臨時重定向; 304 Not Modified:表示該資源沒有修改,客戶端可以使用本地快取的版本; 400 Bad Request:表示客戶端傳送了一個錯誤的請求,例如引數無效; 401 Unauthorized:表示客戶端因為身份未驗證而不允許訪問該URL; 403 Forbidden:表示伺服器因為許可權問題拒絕了客戶端的請求; 404 Not Found:表示客戶端請求了一個不存在的資源; 500 Internal Server Error:表示伺服器處理時內部出錯,例如因為無法連線資料庫; 503 Service Unavailable:表示伺服器此刻暫時無法處理請求。 從第二行開始,伺服器每一行均返回一個HTTP頭。伺服器經常返回的HTTP Header包括: Content-Type:表示該響應內容的型別,例如text/html,image/jpeg; Content-Length:表示該響應內容的長度(位元組數); Content-Encoding:表示該響應壓縮演算法,例如gzip; Cache-Control:指示客戶端應如何快取,例如max-age=300表示可以最多快取300秒。 HTTP請求和響應都由HTTP Header和HTTP Body構成,其中HTTP Header每行都以\r\n結束。如果遇到兩個連續的\r\n,那麼後面就是HTTP Body。瀏覽器讀取HTTP Body,並根據Header資訊中指示的Content-Type、Content-Encoding等解壓後顯示網頁、影像或其他內容。 通常瀏覽器獲取的第一個資源是HTML網頁,在網頁中,如果嵌入了JavaScript、CSS、圖片、影片等其他資源,瀏覽器會根據資源的URL再次向伺服器請求對應的資源。

相關文章