【38期】一份tcp、http面試指南,??键c(diǎn)都給你了
閱讀本文大概需要 5 分鐘。
來自:juejin.im/post/5ad4094e6fb9a028d7011069
TCP
TCP/IP 協(xié)議分層模型
物理層將二進(jìn)制的0和1和電壓高低,光的閃滅和電波的強(qiáng)弱信號(hào)進(jìn)行轉(zhuǎn)換
鏈路層代表驅(qū)動(dòng)
網(wǎng)絡(luò)層
使用 IP 協(xié)議,IP 協(xié)議基于 IP 轉(zhuǎn)發(fā)分包數(shù)據(jù)
IP 協(xié)議是個(gè)不可靠協(xié)議,不會(huì)重發(fā)
IP 協(xié)議發(fā)送失敗會(huì)使用ICMP 協(xié)議通知失敗
ARP 解析 IP 中的 MAC 地址,MAC 地址由網(wǎng)卡出廠提供
IP 還隱含鏈路層的功能,不管雙方底層的鏈路層是啥,都能通信
傳輸層
TCP 協(xié)議面向有連接,能正確處理丟包,傳輸順序錯(cuò)亂的問題,但是為了建立與斷開連接,需要至少7次的發(fā)包收包,資源浪費(fèi)
UDP 面向無連接,不管對(duì)方有沒有收到,如果要得到通知,需要通過應(yīng)用層
通用的 TCP 和 UDP 協(xié)議
會(huì)話層以上分層
TCP/IP 分層中,會(huì)話層,表示層,應(yīng)用層集中在一起
網(wǎng)絡(luò)管理通過 SNMP 協(xié)議
劃重點(diǎn)了啊(面試最常問的?。?/span>
TCP三次握手和四次揮手?
客戶端–發(fā)送帶有SYN標(biāo)志的數(shù)據(jù)包–一次握手–服務(wù)端
服務(wù)端–發(fā)送帶有SYN/ACK標(biāo)志的數(shù)據(jù)包–二次握手–客戶端
客戶端–發(fā)送帶有帶有ACK標(biāo)志的數(shù)據(jù)包–三次握手–服務(wù)端
客戶端-發(fā)送一個(gè)FIN,用來關(guān)閉客戶端到服務(wù)器的數(shù)據(jù)傳送
服務(wù)器-收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1 。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)
服務(wù)器-關(guān)閉與客戶端的連接,發(fā)送一個(gè)FIN給客戶端
客戶端-發(fā)回ACK報(bào)文確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1
TCP和UDP的區(qū)別?


HTTP
http傳輸流

又來劃重點(diǎn)了啊
HTTP的英文全稱?
狀態(tài)碼?
200 OK,表示從客戶端發(fā)來的請(qǐng)求在服務(wù)器端被正確處理
204 No content,表示請(qǐng)求成功,但響應(yīng)報(bào)文不含實(shí)體的主體部分
206 Partial Content,進(jìn)行范圍請(qǐng)求
301 moved permanently,永久性重定向,表示資源已被分配了新的 URL
302 found,臨時(shí)性重定向,表示資源臨時(shí)被分配了新的 URL
303 see other,表示資源存在著另一個(gè) URL,應(yīng)使用 GET 方法定向獲取資源
304 not modified,表示服務(wù)器允許訪問資源,但因發(fā)生請(qǐng)求未滿足條件的情況
307 temporary redirect,臨時(shí)重定向,和302含義相同
400 bad request,請(qǐng)求報(bào)文存在語法錯(cuò)誤
401 unauthorized,表示發(fā)送的請(qǐng)求需要有通過 HTTP 認(rèn)證的認(rèn)證信息
403 forbidden,表示對(duì)請(qǐng)求資源的訪問被服務(wù)器拒絕
404 not found,表示在服務(wù)器上沒有找到請(qǐng)求的資源
500 internal sever error,表示服務(wù)器端在執(zhí)行請(qǐng)求時(shí)發(fā)生了錯(cuò)誤
503 service unavailable,表明服務(wù)器暫時(shí)處于超負(fù)載或正在停機(jī)維護(hù),無法處理請(qǐng)求
HTTP協(xié)議格式?

HTTP的無狀態(tài)性?
輸入url到頁面加載都發(fā)生了什么事情?(最最常問的來了)
輸入地址
瀏覽器查找域名的 IP 地址 這一步包括 DNS 具體的查找過程,包括:瀏覽器緩存->系統(tǒng)緩存->路由器緩存...
瀏覽器向 web 服務(wù)器發(fā)送一個(gè) HTTP 請(qǐng)求
服務(wù)器的永久重定向響應(yīng)(從 http://example.com 到 http://www.example.com)
瀏覽器跟蹤重定向地址
服務(wù)器處理請(qǐng)求
服務(wù)器返回一個(gè) HTTP 響應(yīng)
瀏覽器顯示 HTML
瀏覽器發(fā)送請(qǐng)求獲取嵌入在 HTML 中的資源(如圖片、音頻、視頻、CSS、JS等等)
瀏覽器發(fā)送異步請(qǐng)求
推薦閱讀:
【37期】請(qǐng)你詳細(xì)說說類加載流程,類加載機(jī)制及自定義類加載器
【36期】說說 如何停止一個(gè)正在運(yùn)行的線程?
【35期】談?wù)勀銓?duì)Java線程之間通信方式的理解
微信掃描二維碼,關(guān)注我的公眾號(hào)
朕已閱?

