一.HTTP協(xié)議的定義
HTTP協(xié)議采用了請求/響應模型。客戶端向服務器發(fā)送一個請求,請求頭包含請求的方法、URL、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結構。
1.HTTP協(xié)議版本
(1)HTTP/0.9:已過時。只接受 GET 一種請求方法,沒有在通訊中指定版本號,且不支持請求頭。由于該版本不支持 POST 方法,所以客戶端無法向服務器傳遞太多信息。
(2)HTTP/1.0:這是第一個在通訊中指定版本號的 HTTP 協(xié)議版本,至今仍被廣泛采用,特別是在代理服務器中。
(3)HTTP/1.1:引入了持久連接,即TCP連接默認不關閉,可以被多個請求復用,能很好地配合代理服務器工作。還支持管道方式機制,即在同一個TCP連接里面,客戶端可以同時發(fā)送多個請求,以便降低線路負載,提高傳輸速度。
(4)HTTP/2.0:完全多路復用,在一個連接里,客戶端和瀏覽器都可以同時發(fā)送多個請求或回應,而且不用按照順序一一對應。引入了頭信息壓縮機制,使用gzip或compress壓縮后再發(fā)送。支持服務端推送,允許服務器未經(jīng)請求,主動向客戶端發(fā)送資源。
二.HTTP協(xié)議的方法
HTTP 支持幾種不同的請求命令,這些命令被稱為 HTTP 方法(HTTP method)。
每條 HTTP 請求報文都包含一個方法, 告訴服務器要執(zhí)行什么動作,包括:獲取一個頁面,運行一個網(wǎng)關程序,刪除一個文件等。
最常用的獲取資源的方法是 GET、POST、PUT。
HTTP 方法 | 描述 |
GET? ? | 對服務器資源獲取的簡單請求 |
PUT | 向服務器提交數(shù)據(jù),以修改數(shù)據(jù) |
DELETE | 刪除服務器上的某些資源 |
POST?? | 用于發(fā)送包含用戶提交數(shù)據(jù)的請求 |
HEAD?? | 請求頁面的首部,獲取資源的元信息 |
三.HTTP協(xié)議的狀態(tài)碼
HTTP 狀態(tài)碼(HTTP Status Code)是用以表示網(wǎng)頁服務器 HTTP 響應狀態(tài)的 3 位數(shù)字代碼,當瀏覽器請求某一 URL 時, 服務器根據(jù)處理情況返回相應的處理狀態(tài)。文章來源:http://www.zghlxwxcb.cn/news/detail-833594.html
1.狀態(tài)碼分類
狀態(tài)碼首位 | 已定義范圍 | 分類 |
1xx | 100-101?? ? | 信息提示 |
2xx | 200-206?? ? | 成功 |
3xx | 300-305?? ? | 重定向 |
4xx | 400-415 | 客戶端錯誤 |
5xx | 500-505 | 服務器錯誤 |
2.常見狀態(tài)碼
狀態(tài)碼 | 功能描述 |
200 | 一切正常 |
301 | 永久重定向,將緩存記錄在瀏覽器中 |
302 | 臨時重定向,沒有緩存,每次都要重定向 |
401 | 用戶名或密碼錯誤 |
403 | 禁止訪問(客戶端IP地址被拒絕) |
404 | 請求的文件不存在 |
414 | 請求URL頭部過長 |
500 | 服務器內(nèi)部錯誤 |
502 | 無效網(wǎng)關 |
503 | 當前服務不可用 |
504 | 網(wǎng)關請求超時 |
四.HTTP請求分析
用戶在瀏覽器輸入URL訪問時,發(fā)起HTTP請求報文,請求中包括請求行、請求頭、請求體,服務器收到請求后返回響應報文,包括狀態(tài)行、響應頭、響應體。文章來源地址http://www.zghlxwxcb.cn/news/detail-833594.html
1.請求報文
- 請求行:請求行由請求方法、URL 以及協(xié)議版本三部分組成。
- 請求頭:請求頭為請求報文添加了一些附加信息,由“名/值”對組成,每行一對,名和值之間使用冒號分隔。
- 空行:請求頭部的最后會有一個空行,表示請求頭部結束,接下來為請求體,這一行非常重要,必不可少。
- 請求體:請求體是請求提交的參數(shù),GET 方法已經(jīng)在 URL 中指明了參數(shù),所以提交時沒有數(shù)據(jù)。POST 方法提交的參數(shù)在請求體中。
(1)常見的請求頭
請求頭 | 描述 |
Host | 接受請求的服務器地址,可以是Ip:端口號,也可以是域名 |
User-Agent | 發(fā)送請求的應用程序名稱 |
Connection | 指定與連接相關的屬性,如Connection:Keep-Alive |
Accept-Charset | 通知服務端可以發(fā)送的編碼格式 |
Accept-Encoding | 通知服務端可以發(fā)送的數(shù)據(jù)壓縮格式 |
Accept-Language? | 通知服務端可以發(fā)送的語言 |
?2.響應報文
- 狀態(tài)行:狀態(tài)行由協(xié)議版本,狀態(tài)碼,狀態(tài)碼描述三部分組成。
- 響應頭:響應頭與請求頭部類似,為響應報文添加了一些附加信息。
- 空行:響應頭部的最后會有一個空行,表示響應頭部結束。
- 響應體:服務器返回的相應 HTML 數(shù)據(jù),瀏覽器對其解析后顯示頁面。
(1)常見的響應頭
響應頭 | 描述 |
Server | 服務器應用程序軟件的名稱和版本 |
Content-Type | 響應正文的類型(是圖片還是二進制字符串) |
Content-Length? | 響應正文長度 |
Content-Charset | 響應正文使用的編碼 |
Content-Encoding | 響應正文使用的數(shù)據(jù)壓縮格式 |
Content-Language | ?響應正文使用的語言 |
到了這里,關于Web基礎①HTTP協(xié)議的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!