JAVA面試——網絡

一、http響應碼301和302表明的是什麼?有什麼區別?

301:永久重定向。算法

302:暫時重定向json

它們的區別是:301對搜索引擎優化(SEO)更加有利;302有被提示爲網絡攔截的風險。跨域

 

二、forward和redirect的區別?

forward 是轉發和redirect是重定向:瀏覽器

1)地址欄url顯示:forward url不會發生改變,redirect url會發生改變;緩存

2)數據共享:forward能夠共享request裏的數據,redirect不能共享;安全

3)效率:forward比redirect效率高。服務器

 

三、簡述tcp和udp的區別?

tcp和udp是OSI模型中的運輸層中的協議。tcp提供可靠的通訊傳輸,而udp則常被用於讓廣播和細節控制就交給應用的通信傳輸。網絡

tcp與udp的區別大體以下:tcp

1)tcp面向鏈接、udp面向非鏈接即發送數據前不須要創建連接;函數

2)tcp提供可靠的服務(數據傳輸),udp沒法保證;

3)tcp面向字節流,udp面向報文;

4)tcp傳輸慢,udp傳輸快。

 

四、tcp 爲何要三次握手,兩次不行嗎?爲何?

若是採用兩次握手,那麼只要服務器發出確認數據包就會創建鏈接,但因爲客戶端此時並未響應服務器端的請求,那此時服務器端就會一直在等待客戶端,這樣服務器 端就白白浪費了必定的資源。若採用三次握手,服務器端沒有收到來自客戶端的再此確認,則就會知道客戶端並無要求創建請求,就不會浪費服務器資源。

 

五、說一下tcp粘包是怎麼產生的?

tcp粘包可能發生在發送端或者接收端,分別來看兩端各類產生粘包的緣由:

1)發送端粘包:發送端須要等緩衝區滿才發送出去,形成粘包;

2)接收方粘包:接收方不及時接收緩衝區的包,形成多個包接收。

 

六、OSI的七層模型都有哪些?

OSI模型把網絡通訊的工做分爲7層,分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。每一層對於上一層來說是透明的,上層只須要使用下層提供的接口,並不關心下層是如何實現的。

物理層 物理層規定了激活、維持、關閉通訊端點之間的機械特性、電氣特性、功能特性以及過程特性。該層爲上 層協議提供了一個傳輸數據的物理媒體。 在這一層,數據的單位稱爲比特(bit)。 屬於物理層定義的典型規範表明包括:EIA/TIA RS-232、EIA/TIA RS-44九、V.35RJ-45等。

數據鏈路層 數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的做用包括:物理地址尋址、數據的成幀、流量 控制、數據的檢錯、重發等。 在這一層,數據的單位稱爲幀(frame)。 數據鏈路層協議的表明包括:SDLC、HDLC、PPP、STP、幀中繼等。

網絡層 網絡層負責對子網間的數據包進行路由選擇。網絡層還能夠實現擁塞控制、網際互連等功能。 在這一層,數據的單位稱爲數據包(packet)。 網絡層協議的表明包括:IP、IPX、RIP、OSPF等

傳輸層 傳輸層是第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不 可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。 在這一層,數據的單位稱爲數據段(segment)。 傳輸層協議的表明包括:TCP、UDP、SPX等。

會話層 會話層管理主機之間的會話進程,即負責創建、管理、終止進程之間的會話。會話層還利用在數據中插入 校驗點來實現數據的同步。    表示層 表示層對上層數據或信息進行變換以保證一個主機應用層信息能夠被另外一個主機的應用程序理解。表示層 的數據轉換包括數據的加密、壓縮、格式轉換等。

應用層 應用層爲操做系統或網絡應用程序提供訪問網絡服務的接口。 應用層協議的表明包括:Telnet、FTP、HTTP、SNMP等。

 

物理層:利用傳輸介質爲數據鏈路層提供物理連接,實現比特流的透明傳輸。

數據鏈路層:負責創建和管理節點間的鏈路。

網絡層:經過路由選擇算法,爲報文或分組經過通訊子網選擇最適當的路徑。

傳輸層:向用戶提升可靠的端到端的差錯和流量控制,保證報文的正確輸出。

會話層:向兩個實體的表示層提供創建和使用鏈接的方法。

表示層:處理用戶信息的表示問題,如編碼、數據格式轉換和加密解密等。

應用層:直接向用戶提供服務,完成用戶但願在網絡上完成的各類工做。

 

 

七、get和post請求有哪些區別?

1)get請求會被瀏覽器主動緩存,而post不會。

2)get傳遞參數有大小限制,而post沒有。

3)post參數傳輸更安全,get的參數會明文限制在url上,post不會。

 

八、如何實現跨域?

實現跨域有如下幾種方案:

1)服務器端運行跨域設置CORS等於*;

2)在單個接口使用註解@CrossOrigin運行跨域;

3)使用jsonp跨域;

 

九、JSONP實現原理?

JSONP:JSON with Padding,它是利用script標籤的src鏈接能夠訪問不一樣源的特性,加載遠程返回的「JS函數」來執行的。

相關文章
相關標籤/搜索