易則易知蹲坷,簡(jiǎn)則易從驶乾。
易知?jiǎng)t有親,易從則有功循签。
有親則可久级乐,有功則可大。
可久則賢人之德县匠,可大則賢人之業(yè)风科。
簡(jiǎn)易,則天下之理得矣乞旦;
天下之理得贼穆,而成位乎其中矣。 --《易經(jīng)》
HTTP概述
- 什么是HTTP協(xié)議
- 超文本傳輸協(xié)議(HTTP)是萬(wàn)維網(wǎng)(www)應(yīng)用層的協(xié)議兰粉,是通過(guò)兩個(gè)程序?qū)崿F(xiàn):一個(gè)是客戶端程序(一般稱為瀏覽器)故痊,另一個(gè)是服務(wù)器(常稱Web服務(wù)器)。這兩個(gè)通常運(yùn)行在不同的主機(jī)上通過(guò)交換HTTP報(bào)文來(lái)完成網(wǎng)頁(yè)請(qǐng)求和響應(yīng)亲桦。并且HTTP定義了報(bào)文的結(jié)構(gòu)和客戶/服務(wù)器之間交換報(bào)文的規(guī)則崖蜜。
- HTTP的特性
- 支持客戶/服務(wù)器模式。
- 簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí)客峭,只需傳送請(qǐng)求方法和路徑豫领。請(qǐng)求方法常用的有GET、HEAD舔琅、POST等恐。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類(lèi)型不同。由于HTTP協(xié)議簡(jiǎn)單备蚓,使得HTTP服務(wù)器的程序規(guī)模小课蔬,因而通信速度很快。
- 靈活:HTTP允許傳輸任意類(lèi)型的數(shù)據(jù)對(duì)象郊尝。正在傳輸?shù)念?lèi)型由Content-Type加以標(biāo)記二跋。
- 無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求流昏,并收到客戶的應(yīng)答后扎即,即斷開(kāi)連接吞获。采用這種方式可以節(jié)省傳輸時(shí)間。
- 無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議谚鄙。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力各拷。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳闷营,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大烤黍。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快傻盟。
HTTP的工作流程
- HTTP的怎樣工作的
- 瀏覽器可以向web服務(wù)器發(fā)送請(qǐng)求并顯示收到的網(wǎng)頁(yè)速蕊,當(dāng)用戶在瀏覽器地址欄中輸入一個(gè)URL或點(diǎn)擊一個(gè)超連接時(shí),瀏覽器就向服務(wù)器發(fā)出了HTTP請(qǐng)求娘赴,該請(qǐng)求被送往由URL指定的WEB服務(wù)器互例,WEB服務(wù)器接收到請(qǐng)求后,進(jìn)行相關(guān)文檔的檢索并以HTTP規(guī)定的格式送回所要求的文件或其他相關(guān)信息筝闹,再由用戶計(jì)算機(jī)上的瀏覽器負(fù)責(zé)解釋和顯示媳叨。
-
一次請(qǐng)求流程
一次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ò)誤的信息將返回到客戶端损趋,有顯示屏輸出。對(duì)于用戶來(lái)說(shuō)椅寺,這些過(guò)程是由HTTP自己完成的浑槽,用戶只要用鼠標(biāo)點(diǎn)擊墙杯,等待信息顯示就可以了。
HTTP請(qǐng)求方式之GET與POST
- 常用的請(qǐng)求方式是GET和POST.
l GET方式:是以實(shí)體的方式得到由請(qǐng)求URI所指定資源的信息括荡,如果請(qǐng)求URI只是一個(gè)數(shù)據(jù)產(chǎn)生過(guò)程,那么最終要在響應(yīng)實(shí)體中返回的是處理過(guò)程的結(jié)果所指向的資源溉旋,而不是處理過(guò)程的描述畸冲。
l POST方式:用來(lái)向目的服務(wù)器發(fā)出請(qǐng)求,要求它接受被附在請(qǐng)求后的實(shí)體观腊,并把它當(dāng)作請(qǐng)求隊(duì)列中請(qǐng)求URI所指定資源的附加新子項(xiàng)邑闲,Post被設(shè)計(jì)成用統(tǒng)一的方法實(shí)現(xiàn)下列功能:
1:對(duì)現(xiàn)有資源的解釋?zhuān)?br> 2:向電子公告欄、新聞組梧油、郵件列表或類(lèi)似討論組發(fā)信息苫耸;
3:提交數(shù)據(jù)塊;
4:通過(guò)附加操作來(lái)擴(kuò)展數(shù)據(jù)庫(kù) 儡陨。
本文由易則知編寫(xiě)及整理褪子,若轉(zhuǎn)載請(qǐng)標(biāo)明作者及出處,謝謝骗村!