簡介:
超文本傳輸協(xié)議,基于請求與響應(yīng)模式、無狀態(tài)、應(yīng)用層面向?qū)ο蟮膮f(xié)議,基于TCP的連接方式,主要特點如下:
- 支持客戶端/服務(wù)器模式
- 簡單快速:客戶端向服務(wù)器發(fā)送請求服務(wù)時,只需傳遞請求方式和路徑。通信速度較快
- 靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象,正在傳輸?shù)念愋陀蒫onteng-type標(biāo)記
- 無連接:限制每次連接只處理一個請求,服務(wù)器處理完客戶端的請求并收到客戶端應(yīng)答后,就斷開連接,節(jié)省傳輸時間
- 無狀態(tài):對事物處理無記憶能力,缺少狀態(tài)意味著如果后續(xù)需要處理前面的信息則必須重傳
?
請求方式:
由三部分組成:請求行、消息報頭、請求正文
請求方法:
- GET:請求獲取Request-URI所標(biāo)識的資源
- POST:在Request-URI所標(biāo)識的資源后附加新的數(shù)據(jù)
- HEAD:請求獲取由Request-URI所標(biāo)識的資源的響應(yīng)消息報頭
- PUT:請求服務(wù)器存儲一個資源,并用Request-URI作為標(biāo)識
- DELETE:請求服務(wù)器刪除Request-URI所標(biāo)識的資源
- TRACE:請求服務(wù)器回送收到的請求信息,主要用于測試和診斷
- OPTIONS:請求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項和需求
GET和POST的區(qū)別:
- GET參數(shù)根據(jù)URL傳輸,POST放在request body中
- POST比GET更安全
- 對于參數(shù)的數(shù)據(jù)類型,GET只接受ASCII字符,但POST沒有限制
- GET有長度限制,但POST沒有
- GET請求參數(shù)會被完整保存在瀏覽器歷史記錄中,而POST則不會
- GET只支持url編碼,而post支持多種編碼方式
- GET請求會自動被瀏覽器cache,而POST不會
- GET在瀏覽器回退是無害的,而POST會再次提交請求
參考地址:https://www.cnblogs.com/logsharing/p/8448446.html
?
狀態(tài)碼:
- 1xx:指示信息--表示請求已接收,繼續(xù)處理
- 2xx:成功--表示請求已被成功接收、理解
- 3xx:重定向
- 4xx:客戶端錯誤--請求有語法錯誤或請求無法實現(xiàn)
- 5xx:服務(wù)器錯誤
常見狀態(tài)碼:
- 101:切換協(xié)議,表示服務(wù)器應(yīng)客戶端升級協(xié)議的請求對協(xié)議進行切換,常見于websocket協(xié)議
- 200:成功
- 301:永久跳轉(zhuǎn)
- 302:臨時跳轉(zhuǎn)
- 400:客戶端請求有語法錯誤,服務(wù)器無法理解
- 401:請求未授權(quán)
- 403:Forbidden,服務(wù)器收到請求,但拒絕提供服務(wù)
- 404:資源不存在
- 500:服務(wù)器內(nèi)部錯誤
- 502:網(wǎng)關(guān)錯誤
- 503:服務(wù)不可用,服務(wù)器超載或停機
- 504:網(wǎng)關(guān)超時
部分參考地址:https://blog.csdn.net/panshi5188/article/details/110522502
?
全文參考地址:https://blog.csdn.net/gueter/article/details/1524447
?
本文摘自 :https://www.cnblogs.com/