web伺服器底層 http請求與相應

2022-02-01 22:58:47 字數 1278 閱讀 5189

http請求

請求分為三個部分:請求行、請求頭、請求資料

請求行請求方式(get/post等) 請求目錄,分層(/books/1.html) http協議版本(http/1.1),請求方式有:post get head options delete trace put。一般用get/post,get方式是通過『?引數』的形式在url裡面顯示,顯示直白。post方式則沒有引數顯示,適合比較大的資料傳送。

請求頭(客戶機環境)

一般的請求頭有:

accept:用於告訴伺服器客戶機支援的資料型別

accept-charset:用於告訴伺服器,客戶機採用的編碼

accept-encoding:用於告訴伺服器,客戶機支援的資料壓縮格式

accept-language:客戶機的語言環境(國際化語言,根據國家的不同而不同)

ua-cpu:作業系統平台

host:告訴伺服器想訪問的主機名

if-modified-since:告訴伺服器資源的快取時間

referer:告訴伺服器,客戶機是從哪個資源來訪問伺服器的(防盜煉)

user-agent:告訴伺服器客戶機的軟體環境

cookie:通過這個頭可以向伺服器帶一點資料

connection:說明這個請求之後斷開還是保持連線(close/keep-alive)

date:當前日期

range:續傳,值為"bytes=5-"表示第5個位元組後的內容,"bytes=1000"表示最後1000個位元組。

http響應

http響應分為三部分:狀態行、響應頭、實體內容

狀態行http版本號 狀態碼 原因敘述(crlf)

狀態碼:

100-199,表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程

200-299,表示成功接收請求並已完成整個處理過程常用200

300-399,表示未完成請求,客戶端需進一步細化請求。例如,請求的資源已經移動位址,常用30(伺服器讓客戶端去找別人)、307/304(讓客戶端去拿快取)

400-499,客戶端請求有錯誤,常用404(沒有該資源)、403(沒有許可權)

500-599,服務端出現錯誤,常用500

響應頭accept-range:告訴瀏覽器伺服器是否支持續傳,支援返回bytes,否則返回none(現在伺服器一般都支援)。

content-range:續傳內容大小。eg:content-range:1000-3000/5000,總大小5000,續傳1000到3000

響應資料

與HTTP協作的Web伺服器

http 1.1規範允許一台http伺服器搭建多個web站點。這是因為利用了虛擬主機 virtual host,又稱虛擬伺服器 的功能 即使物理層面只有一台伺服器,但只要使用虛擬主機的功能,則可以假想已具有多台伺服器。當一台伺服器內託管了多個網域名稱,當收到請求時就需要弄清楚究竟要訪問哪個網域名稱。...

與HTTP協作的Web伺服器

web伺服器一般指 伺服器,是指駐留於網際網路上某種型別計算機的程式,提供網上資訊瀏覽服務。可作為伺服器搭建多個不同網域名稱的 也可以作為通訊路徑中的中轉伺服器提公升傳輸速率。一台物理計算機上搭建多個不同網域名稱的 採用虛擬主機實現該用法。此時網域名稱,通過dns網域名稱解析後的ip是同乙個,由於虛...

web伺服器開發日記 HTTP請求及響應

http url url是一種特殊型別的uri,包含了用於查詢某個資源的足夠的資訊 的格式如下 http表示要通過http協議來定位網路資源 host表示合法的internet主機網域名稱或者ip位址 port指定乙個埠號,為空則使用預設埠 80 abs path指定請求資源的uri 如果url中沒...