計算機網路常見問題總結

2021-09-25 18:01:11 字數 1605 閱讀 9991

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

forward 和 redirect 的區別?

簡述 tcp 和 udp 的區別?

tcp 為什麼要三次握手?兩次不行麼?為什麼?

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

osi 的七層模型都有哪些?

get 和 post 請求有什麼區別?

如何實現跨域?

說一下 jsonp 實現原理?

301:永久重定向

302:暫時重定向

它們的區別是,301 對搜尋引擎優化(seo)更有利;302 有被提示為網路攔截的風險。

forward 是**和 redirect 是重定向:

資料共享:forward 可以共享 request 裡的資料,redirect 不能共享;

效率:forward 比 redirect 效率高;

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

兩者的區別大致如下:

tcp是面向連線的,udp是無連線的;

tcp是可靠的,udp是不可靠的;

tcp只支援點對點通訊,udp支援一對

一、一對多、多對

一、多對多的通訊模式;

tcp是面向位元組流的,udp是面向報文的;

tcp有擁塞控制機制;udp沒有擁塞控制,適合**通訊;

tcp首部開銷(20個位元組)比udp的首部開銷(8個位元組)要大;

如果採用兩次握手,那麼只要伺服器傳送確認資料報就會建立連線,但由於此時客戶端並未響應伺服器端請求,那麼此時伺服器端就會一直在等待客戶端,這樣伺服器端就白白浪費了一定的資源。若採用握手,伺服器端沒有收到來自客戶端的再次確認,則就會知道客戶端並沒有要求建立請求,就不會浪費伺服器的資源。

tcp 粘包問題主要是因為接收方不知道訊息之間的界限,不知道一次性提取多少位元組的資料所造成的。tcp粘包 可能發生在傳送端或者接收端,分別來看各種產生粘包的原因:

詳細請看: tcp 粘包問題

從功能上講:get 一般用來獲取伺服器上的資源,post 一般使用者更新伺服器上的資源。

從 rest 服務角度上說:get 是冪等的,即讀取同乙個資源,總是得到相同的資料。而 post 不是冪等的,因為每次請求對資源的改變並不是相同的;進一步講,get 不會改變伺服器上的資源,而 post 會對伺服器資源進行改變。

從請求引數形式上看:get 請求的資料會附在 url 之後,即將請求資料放置在 http 報文的請求頭中,以 ?分割url和傳輸資料,引數直接用 & 連線。而 post 請求會把提交的資料放置在http請求的報文的請求體中。

從安全性講:post 的安全性要比 get 的安全性高,因為 get 請求提交的資料將明文出現在url 上,而post請求引數則被封裝到請求體中,相對更安全。

從請求的大小看:get請求的長度受限於遊覽器或伺服器對url長度的限制,執行傳送的資料量比較小,而post請求則是沒有大小限制的。

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

jsonp:json with padding,它是利用 script 標籤的 src 連線可以訪問不同源的特性,載入遠端返回的「js 函式」來執行的。

計算機網路面試的常見問題

osi 應用層,表示層,會話層,傳輸層,網路層,資料鏈路層,物理層 7層 tcp ip 應用層,傳輸層,網路層,資料鏈路層 4層 每一層的協議如下 分五類,由32bit 4bytes 組成,點分十進位制。e類位址 http特點 無連線 http 1.1之前,由於無狀態特點,每次請求需要通過tcp三次...

常見問題 計算機網路 運輸層 UDP

幾乎不對ip增加其他東西,無連線。優勢速度快。適合實時。無連線建立,沒有連線時延。無連線狀態。分組首部開銷小。tcp需20位元組,udp僅需8位元組。使用udp的協議 dnssnmp ripnfs udp校驗和 傳送方 對報文段中所有16bits字的和 求和時有溢位則回卷 進行反碼運算,儲存為校驗和...

常見問題 計算機網路 完整HTTP訪問

以瀏覽器進行http訪問為例,首先搜尋自身dns快取 一般快取1000條左右,僅快取1分鐘 若有且未過期,結束。若未找到,則搜尋作業系統的dns快取。若未找到,嘗試讀取hosts檔案。若未找到,發起向本地首選dns服務商。dns服務商優先找自身快取,未找到,則找根網域名稱的ip 如com 根網域名稱...