計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)是面試??嫉膬?nèi)容,在實(shí)際工作中經(jīng)常涉及。
1、比較http 0.9和http 1.0
http0.9只是一個(gè)簡單的協(xié)議,只有一個(gè)GET方法,沒有首部,目標(biāo)用來獲取HTML。
HTTP1.0協(xié)議大量內(nèi)容:首部,響應(yīng)碼,重定向,錯(cuò)誤,條件請(qǐng)求,內(nèi)容編碼等。
http0.9流程:
客戶端,構(gòu)建請(qǐng)求,通過DNS查詢IP地址,三次握手建立TCP連接,客戶端發(fā)起請(qǐng)求,服務(wù)器響應(yīng),四次揮手,斷開TCP連接。
http1.0流程:
客戶端,構(gòu)建請(qǐng)求,通過DNS查詢IP地址,三次握手建立TCP連接,客戶端發(fā)起請(qǐng)求,服務(wù)器響應(yīng),四次揮手,斷開TCP連接。
因?yàn)椴蛔闳毕?,就有了http1.1。
2.關(guān)于http1.1以及http2
http1.1中瀏覽器再也不用為每個(gè)請(qǐng)求重新發(fā)起TCP連接了,增加內(nèi)容有:緩存相關(guān)首部的擴(kuò)展,OPTIONS方法,Upgrade首部,Range請(qǐng)求,壓縮和傳輸編碼,管道化等。但還是滿足不了現(xiàn)在的web發(fā)展需求,so,就有了http.2版本。
http2解決了http中的隊(duì)頭阻塞問題。
使用http2會(huì)比http1.1在使用TCP時(shí),用戶體驗(yàn)的感知多數(shù)延遲的效果有了量化的改善,以及提升了TCP連接的利用率
所以需要學(xué)習(xí)http2,了解更過的內(nèi)容來掌握計(jì)算機(jī)網(wǎng)咯。
對(duì)于http2,你可以來運(yùn)行一個(gè)http2的服務(wù)器,獲取并安裝一個(gè)http2的web服務(wù)器,下載并安裝一張 TLS證書,讓瀏覽器和服務(wù)器通過http2來連接。。
了解http2的協(xié)議,先讓我們了解一下web頁面的請(qǐng)求,就是用戶在瀏覽器中呈現(xiàn)的效果,發(fā)生了些什么呢?
資源獲取的步驟:
把待請(qǐng)求URL放入隊(duì)列,判斷URL是否已在請(qǐng)求隊(duì)列,否的話就結(jié)束,是的話就判斷請(qǐng)求域名是否DNS緩存中,沒有的話就解析域名,有的話就到指定域名的TCP連接是否開啟,沒有的話就開啟TCP連接,進(jìn)行HTTPS請(qǐng)求,初始化并完成TLS協(xié)議握手,向頁面對(duì)應(yīng)的URL發(fā)送請(qǐng)求。
接收響應(yīng)以及頁面渲染步驟:
接收請(qǐng)求,判斷是否HTML頁面,是就解析HTML,對(duì)頁面引用資源排優(yōu)先級(jí),添加引用資源到請(qǐng)求隊(duì)列。,判斷是否有還要繼續(xù)接收資源,繼續(xù)解析渲染,直到結(jié)束。
3.HTTP的幾種請(qǐng)求方法用途
第一種GET方法:發(fā)送一個(gè)請(qǐng)求來獲取服務(wù)器上的某一些資源。
第二種POST方法:向URL指定的資源提交數(shù)據(jù)或附加新的數(shù)據(jù)。
第三種PUT方法:跟POST方法一樣,可以向服務(wù)器提交數(shù)據(jù),但是它們之間也所有不同,PUT指定了資源在服務(wù)器的位置,而POST沒有哦。
第四種HEAD方法:指請(qǐng)求頁面的首部。
第五種DELETE方法:刪除服務(wù)器上的某資源。
第六種OPTIONS方法:它用于獲取當(dāng)前URL所支持的方法,如果請(qǐng)求成功,在Allow的頭包含類似GET,POST等的信息。
第七種TARCE方法:用于激發(fā)一個(gè)遠(yuǎn)程的,應(yīng)用層的請(qǐng)求消息回路。
第八種CONNECT方法:把請(qǐng)求連接轉(zhuǎn)換到TCP/TP通道。
4.從瀏覽器地址欄輸入url到顯示頁面的步驟
簡單說說,瀏覽器根據(jù)請(qǐng)求的url交給dns域名解析,查找真正的ip地址,向服務(wù)器發(fā)起請(qǐng)求;服務(wù)器交給后臺(tái)處理后,返回?cái)?shù)據(jù),瀏覽器會(huì)接收到文件數(shù)據(jù),比如,html,js,css,圖像等;然后瀏覽器會(huì)對(duì)加載到的資源進(jìn)行語法解析,建立相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu);載入解析到得資源文件,渲染頁面,完成顯示頁面效果。
更多詳細(xì)信息,請(qǐng)您微信關(guān)注“計(jì)算網(wǎng)”公眾號(hào):