HTTP 是超文本傳輸協(xié)議,它定義了客戶端和服務(wù)器之間交換報(bào)文的格式和方式,默認(rèn)使用 80 端口。它使用 TCP 作為傳輸層協(xié)議,保證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
HTTP協(xié)議具有以下優(yōu)點(diǎn):支持客戶端/服務(wù)器模式
簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑。由于 HTTP 協(xié)議簡(jiǎn)單,使得 HTTP 服務(wù)器的程序規(guī)模小,因而通信速度很快。
無(wú)連接:無(wú)連接就是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開連接,采用這種方式可以節(jié)省傳輸時(shí)間。
無(wú)狀態(tài):HTTP 協(xié)議是無(wú)狀態(tài)協(xié)議,這里的狀態(tài)是指通信過程的上下文信息。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能會(huì)導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就比較快。
靈活:HTTP 允許傳輸任意類型的數(shù)據(jù)對(duì)象。正在傳輸?shù)念愋陀?Content-Type 加以標(biāo)記。HTTP協(xié)議具有以下缺點(diǎn):無(wú)狀態(tài): HTTP 是一個(gè)無(wú)狀態(tài)的協(xié)議,HTTP 服務(wù)器不會(huì)保存關(guān)于客戶的任何信息。
明文傳輸: 協(xié)議中的報(bào)文使用的是文本形式,這就直接暴露給外界,不安全。
不安全(1)通信使用明文(不加密),內(nèi)容可能會(huì)被竊聽;(2)不驗(yàn)證通信方的身份,因此有可能遭遇偽裝;(3)無(wú)法證明報(bào)文的完整性,所以有可能已遭篡改;