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