HTTP(Hyper Text Transfer Protocol 超文本傳輸協(xié)議)是一個(gè)應(yīng)用層協(xié)議,由請(qǐng)求和響應(yīng)構(gòu)成再芋,是一個(gè)標(biāo)準(zhǔn)的客戶端服務(wù)器模型司训。HTTP是一個(gè)無(wú)狀態(tài)的協(xié)議。
HTTP協(xié)議通常承載于TCP協(xié)議之上,有時(shí)也承載于TLS或SSL協(xié)議層之上,這個(gè)時(shí)候盯腌,就成了我們常說(shuō)的HTTPS。如下圖所示:
(//自己寫(xiě)個(gè)注釋吧
TCP Transmission Control Protocol 傳輸控制協(xié)議)
SSL (Secure Sockets Layer 安全套接層)
TLS (Transport Layer Security Protocol)
)
- 默認(rèn)HTTP的端口號(hào)為80大诸,HTTPS的端口號(hào)為443
- HTTP協(xié)議是一個(gè)無(wú)狀態(tài)的協(xié)議资柔,同一個(gè)客戶端的這次請(qǐng)求和上次請(qǐng)求是沒(méi)有對(duì)應(yīng)關(guān)系。
- 最早的版本只有GET方法
GET /index.html
協(xié)議規(guī)定羹与,服務(wù)器只能回應(yīng)HTML格式的字符串契吉,不能回應(yīng)別的格式惑灵。
<html> <body>Hello World</body> </html>
服務(wù)器發(fā)送完畢干花,就關(guān)閉TCP連接
實(shí)現(xiàn)HTTP流程
一次HTTP操作稱為一個(gè)事務(wù)尤慰,其工作過(guò)程可分為四步:
1)首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級(jí)鏈接擎椰,HTTP的工作開(kāi)始支子。
2)建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器达舒,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)值朋、協(xié)議版本號(hào),后邊是MIME信息包括請(qǐng)求修飾符巩搏、客戶機(jī)信息和可能的內(nèi)容昨登。
3)服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息贯底,其格式為一個(gè)狀態(tài)行丰辣,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼禽捆,后邊是MIME信息包括服務(wù)器信息笙什、實(shí)體信息和可能的內(nèi)容。
4)客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上胚想,然后客戶機(jī)與服務(wù)器斷開(kāi)連接琐凭。
如果在以上過(guò)程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端浊服,有顯示屏輸出(status code统屈?)。對(duì)于用戶來(lái)說(shuō)牙躺,這些過(guò)程是由HTTP自己完成的鸿吆,用戶只要用鼠標(biāo)點(diǎn)擊,等待信息顯示就可以了述呐。