HTTP協(xié)議(超文本傳輸協(xié)議)
簡介
1.http協(xié)議是用于web服務器傳輸超文本到瀏覽器的傳輸協(xié)議
2.http協(xié)議是基于TCP/IP通信協(xié)議傳遞數(shù)據(jù)和建立連接
工作原理
1.http協(xié)議工作于C/S架構岖免,瀏覽器通過url向服務器發(fā)送請求岳颇,服務器收到請求后,會返回響應到客戶端
2.http默認端口80颅湘,可以進行更改
3.http是無連接協(xié)議话侧,即每次連接只處理一個請求,服務器處理完請求且收到應答后闯参,斷開連接瞻鹏,可以減少傳輸時間
4.http是無狀態(tài)協(xié)議,處理事務時不記憶鹿寨,所以如果后續(xù)事務需要前面信息新博,需要重傳。
5.http流程:
消息結構
1.http的客戶端 (web瀏覽器)向服務端發(fā)送請求
2.http的服務端 (web服務器)向客戶端返回響應
3.http是通過URI進行傳輸數(shù)據(jù)和建立連接
4.請求的結構包括
請求行
請求方法字段(GET/POST ) url字段(例:/data/info.html) HTTP協(xié)議版本(http1.0/http1.1)
請求頭部 包含許多參數(shù)脚草,比如說(常用):
Accept 瀏覽器允許的MIME類型
Referer 客戶端聲明從哪個資源訪問服務器
User-Agent 包含發(fā)送請求的用戶信息赫悄,瀏覽器類型
Content-Type 內容類型
Host 要訪問的主機名
Connection 判斷處理完請求是否繼續(xù)連接
Cookie 客戶機通過這個頭可以向服務器帶數(shù)據(jù)
空行 告訴服務器頭部到此結束
請求數(shù)據(jù) 如果是GET,無數(shù)據(jù) 如果是POST,放入數(shù)據(jù) 數(shù)據(jù)間用&相連
如圖:
5.響應的結構包括
響應行 包括http協(xié)議版本(同上) http狀態(tài)碼(成功是200埂淮,其余后面會寫) 描述(例ok表示響應成功)
響應頭 同請求頭部
響應數(shù)據(jù) 返回對應數(shù)據(jù)姑隅,例:請求是html頁面,返回就是html文檔
如圖:
請求方法
方法名 | 用途 |
---|---|
GET | 獲取指定的頁面信息倔撞,返回實體 |
HEAD | 與GET類似讲仰,但主要獲取報頭 |
POST | 向指定資源發(fā)送數(shù)據(jù)進行處理請求,請求包含在請求體中痪蝇,POST請求可能會導致新的資源的建立和/或已有資源的修改鄙陡。 |
DELETE | 請求服務器刪掉指定頁面 |
PUT | 向服務器發(fā)送數(shù)據(jù)并修改數(shù)據(jù)指定的內容 |
OPTIONS | 允許查看服務器性能 |
TRACE | 回顯數(shù)據(jù),用于測試 |
狀態(tài)碼
a.分類:
狀態(tài)碼 | 用途 |
---|---|
1** | 繼續(xù)操作信息躏啰,服務器收到請求趁矾,需要請求者繼續(xù)執(zhí)行操作 |
2** | 成功,操作被收到并處理 |
3** | 重定向丙唧,需要進一步操作才能完成請求 |
4** | 客戶端錯誤愈魏,可能是語法錯誤或發(fā)送請求錯誤 |
5** | 服務端錯誤,服務器處理請求錯誤 |
b.具體分類:
1系
101 | 服務器收到請求想际,需要請求者繼續(xù)執(zhí)行操作 |
---|---|
102 | 更換高版本http協(xié)議(http1.0轉1.1) |
2系
200 | 成功培漏,服務器收到請求并處理 |
---|---|
201 | 成功請求并創(chuàng)建了新的資源 |
202 | 請求成功。但返回的meta信息是一個副本 |
203 | 服務器已成功處理了請求胡本,但返回的信息可能來自另一來源牌柄。 |
204 | 服務器成功處理了請求,但沒有返回任何內容 |
205 | 服務器成功處理了請求侧甫,但沒有返回任何內容珊佣。與 204 響應不同,此響應要求請求者重置文檔視圖 |
206 | 服務器處理部分GET請求 |
3系
300 | 請求資源包括多個位置披粟,服務器提供操作列表供請求者選擇 |
---|---|
301 | 永久重定向 資源被永久移動到新的uri咒锻,包括返回信息和請求使用新的uri |
302 | 臨時重定向 資源臨時移動到新的uri,訪問時仍然為舊uri |
303 | 查看其它地址守屉。與301類似惑艇。使用GET和POST請求查看 |
304 | 請求的資源未修改,不返回內容 |
305 | 使用代理訪問請求網頁 |
307 | 臨時重定向拇泛。與302類似滨巴。使用GET請求重定向 |
4系
400 | 語法錯誤 |
---|---|
401 | 需要身份驗證 |
403 | 資源不可用 |
404 | 找不到資源 |
405 | 請求方法對資源不可用 |
406 | 資源已找到,但MIME類型與Accept請求頭指定的不符 |
407 | 需要代理服務器授權 |
408 | 在服務器許可的等待時間內俺叭,客戶一直沒有發(fā)出任何請求恭取。客戶可以在以后重復同一請求熄守。 |
409 | 請求與資源狀態(tài)沖突 |
410 | 服務器無法重定向 |
411 | 請求中無Content-Length頭 |
412 | 文檔太大蜈垮,服務器需要Retry-enter頭 |
414 | URI太長 |
5系
500 | 服務器出狀況 |
---|---|
501 | 服務器不支持請求中的某功能 |
502 | 服務器返回非法應答 |
503 | 服務器未應答 |
504 | 能及時地從遠程服務器獲得應答 |
505 | 服務器不支持http版本 |