其實(shí)計(jì)算機(jī)網(wǎng)絡(luò)一般Java程序員也不用了解,但如果你很清楚網(wǎng)絡(luò)知識(shí),一定會(huì)讓面試官刮目相看。
1、HTTP 狀態(tài)碼有哪些,一一解釋含義
500 Internal Server Error 請(qǐng)求未完成。服務(wù)器遇到不可預(yù)知的情況。
400 Bad Request 服務(wù)器未能理解請(qǐng)求。
404 Not Found 服務(wù)器無法找到被請(qǐng)求的頁(yè)面。
304 Not Modified 未修改的文檔。客戶端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務(wù)器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。
200 OK 請(qǐng)求成功(其后是對(duì)GET和POST請(qǐng)求的應(yīng)答文檔。)
100 服務(wù)器僅接收到部分請(qǐng)求,但是一旦服務(wù)器并沒有拒絕該請(qǐng)求,客戶端應(yīng)該繼續(xù)發(fā)送其余的請(qǐng)求。
1xx 消息
2xx 成功
3xx 重定向
4xx: 客戶端錯(cuò)誤
5xx: 服務(wù)器錯(cuò)誤
2、HTTP 請(qǐng)求頭有哪些,介紹平時(shí)見過的,怎么利用這些信息來進(jìn)行前后端調(diào)試
Host, 請(qǐng)求的域名
User-Agent,用戶的瀏覽器版本信息
Accept,響應(yīng)的內(nèi)容類型
Accept-Language, 接受的語(yǔ)言
Accept-Encoding, 可接受的編碼方式
Cookie,本地的 Cookie 信息
if-Modified-Since, 本地有緩存,如果在那之后沒有做修改,則可以直接使用本地緩存。
3、TCP 和 UDP 的區(qū)別
4、TCP 如何保證可靠性
累計(jì)確認(rèn)
超時(shí)重傳
超時(shí)間隔加倍
快速重傳
5、擁塞控制與流量控制的區(qū)別
流量控制是由接收方來控制的,擁塞控制由當(dāng)前的網(wǎng)絡(luò)環(huán)境來控制。
6、OSI七層模型,每層對(duì)應(yīng)的協(xié)議有哪些,每層有何含義
7、網(wǎng)絡(luò)瀏覽器訪問一個(gè)網(wǎng)址發(fā)生了什么過程
HTTP 協(xié)議基于 TCP,建立連接需要經(jīng)過三次握手,并且該連接是長(zhǎng)連接,即keep-alive
IP 數(shù)據(jù)包在網(wǎng)絡(luò)傳輸中還需要經(jīng)過域間選路和域內(nèi)選路。
若長(zhǎng)時(shí)間接收不到應(yīng)答,TCP 會(huì)進(jìn)行重傳和擁塞控制。
BLABLABLA...
瀏覽器緩存
操作系統(tǒng)緩存
路由器緩存
本地 DNS 服務(wù)器
如果本地 DNS 服務(wù)器上沒有的話,它會(huì)遞歸的從根 DNS 服務(wù)器、頂級(jí) DNS 服務(wù)器、權(quán)威 DNS 服務(wù)器請(qǐng)求,然后把獲取到的 IP 返回給瀏覽器(DNS 協(xié)議基于 UDP)。
在地址欄輸入 URL,并回車
瀏覽器查詢域名的 IP。一般會(huì)有以下幾個(gè)地方:
瀏覽器向 web 服務(wù)器發(fā)送 HTTP 請(qǐng)求
web 服務(wù)器處理請(qǐng)求
web 服務(wù)器回傳一個(gè) HTTP 相應(yīng)
瀏覽器接收到以后解析 HTML并顯示
瀏覽器請(qǐng)求嵌入在 HTML 中的對(duì)象
最終瀏覽器呈現(xiàn)一個(gè)圖文并茂的頁(yè)面
8、Cookie 和 Session 的區(qū)別
Session 是存儲(chǔ)在服務(wù)器端的,Cookie 是存儲(chǔ)在客戶端的 //TODO
9、HTTP1.0 和 1.1 的區(qū)別
最主要的區(qū)別是 1.1 支持持久連接。Connection 請(qǐng)求頭的值為 Keep-Alive 時(shí),客戶端通知服務(wù)器返回本次請(qǐng)求結(jié)果后保持連接;Connection 請(qǐng)求頭的值為 close 時(shí),客戶端通知服務(wù)器返回本次請(qǐng)求結(jié)果后關(guān)閉連接。
1.1 支持?jǐn)帱c(diǎn)續(xù)傳。RANGE:bytes=XXX表示要求服務(wù)器從文件 XXX 字節(jié)處開始傳送
還有一些其他的改進(jìn),有興趣可以自行查閱相關(guān)資料
10、HTTP 和 HTTPS 的主要區(qū)別
安全。HTTP 直接與 TCP 通信,而 HTTPS 是先與 SSL(加密) 通信,然后再由 SSL 和 TCP 通信
11、滑動(dòng)窗口算法
又稱回退 N 步(go-back-N),發(fā)送方的窗口滑動(dòng)是由接收方是否已成功收到數(shù)據(jù)包來決定的。即接收方的窗口向前滑動(dòng)后發(fā)送方的窗口才會(huì)向前滑動(dòng)。//TODO
12、域名解析詳細(xì)過程
13、IP 地址分為幾類,每類都代表什么,私網(wǎng)是哪些
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
A:前 1 byte 為網(wǎng)絡(luò)標(biāo)識(shí),剩下的是主機(jī)標(biāo)識(shí)
B:前 2 bytes 為網(wǎng)絡(luò)標(biāo)識(shí)
C:前 3 bytes 為網(wǎng)絡(luò)標(biāo)識(shí)
D:為多播地址,最高位為 1110
E:特殊 IP。例如 0.0.0.0,127.0.0.1,255.255.255.255 等等
私網(wǎng)
14、IP 頭組成;
15、計(jì)算機(jī)網(wǎng)絡(luò)中的同步和異步
16、發(fā)現(xiàn)百度上不去,怎么辦
查看 DNS 解析是否正確。若有錯(cuò)誤,刪除本地 DNS 緩存
若 DNS 沒有問題,使用 traceroute 檢測(cè)路徑,若路徑不通則說明網(wǎng)路阻塞,暫時(shí)就別上網(wǎng)了
traceroute 沒有問題,ping 也能通一般就是服務(wù)器端出問題了。
