java面試---網絡

  1. http 響應碼 301 和 302 代表的是什麼?有什麼區別?
    301,302 都是HTTP狀態的編碼,都代表着某個URL發生了轉移
    301 redirect: 301 代表永久性轉移(Permanently Moved)。
    302 redirect: 302 代表暫時性轉移(Temporarily Moved )。

  2. forward 和 redirect 的區別?
    Forward:客戶端和瀏覽器只發出一次請求,Servlet、HTML、JSP或其它信息資源,由第二個信息資源響應該請求,在請求對象request中,保存的對象對於每個信息資源是共享的。
    Redirect:實際是兩次HTTP請求,服務器端在響應第一次請求的時候,讓瀏覽器再向另外一個URL發出請求,從而達到轉發的目的。

  3. 簡述 tcp 和 udp的區別?
    1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接
    2、TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付
    Tcp通過校驗和,重傳控制,序號標識,滑動窗口、確認應答實現可靠傳輸。如丟包時的重發控制,還可以對次序亂掉的分包進行順序控制。
    3、UDP具有較好的實時性,工作效率比TCP高,適用於對高速傳輸和實時性有較高的通信或廣播通信。
    4.每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信
    5、TCP對系統資源要求較多,UDP對系統資源要求較少。

  4. tcp 爲什麼要三次握手,兩次不行嗎?爲什麼?
    防止已失效的連接請求又傳送到服務器端,因而產生錯誤

  5. 說一下 tcp 粘包是怎麼產生的?
    TCP粘包是指發送方發送的若干包數據到接收方接收時粘成一包,從接收緩衝區看,後一包數據的頭緊接着前一包數據的尾。
    1)發送方原因
      我們知道,TCP默認會使用Nagle算法。而Nagle算法主要做兩件事:1)只有上一個分組得到確認,纔會發送下一個分組;2)收集多個小分組,在一個確認到來時一起發送。
      所以,正是Nagle算法造成了發送方有可能造成粘包現象。
    2)接收方原因
      TCP接收到分組時,並不會立刻送至應用層處理,或者說,應用層並不一定會立即處理;實際上,TCP將收到的分組保存至接收緩存裏,然後應用程序主動從緩存裏讀收到的分組。這樣一來,如果TCP接收分組的速度大於應用程序讀分組的速度,多個包就會被存至緩存,應用程序讀時,就會讀到多個首尾相接粘到一起的包。

  6. OSI 的七層模型都有哪些?
    應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層

  7. get 和 post 請求有哪些區別?
    (1) 在客戶端,Get方式在通過URL提交數據,數據在URL中可以看到;POST方式,數據放置在HTML HEADER內提交。
    (2) GET方式提交的數據最多只能有1024字節,而POST則沒有此限制。
    (3) 安全性問題。使用 Get的時候,參數會顯示在地址欄上,而 Post不會。所以,如果這些數據是中文數據而且是非敏感數據,那麼使用 get;如果用戶輸入的數據不是中文字符而且包含敏感數據,那麼還是使用 post爲好。
    (4) 安全的和冪等的

  8. 如何實現跨域?
    1).圖片ping或script標籤跨域
    2).JSONP跨域
    3).CORS
    4).window.name+iframe
    5).window.postMessage()
    6).修改document.domain跨子域
    7).WebSocket
    8).代理

  9. 說一下 JSONP 實現原理?
    跨域是協議,端口,域名(以上任意一個不同都算是跨域)
    首先在客戶端註冊一個callback,然後把callback的名字傳給服務器。此時,服務器先生成json數據,然後以javascript語法的方式,生成function,function名字就是傳遞上來I帶參數jsonp。最後將json數據直接以入參的方式,放置function中,這樣就生成js語法的文檔,返回給客戶端。客戶端瀏覽器,解析script變遷,並執行返回javascript文檔,此時數據作爲參數,傳入了客戶端預先定義好的callback函數裏。簡單的說,就是利用script標籤沒有跨域限制的“漏洞”來達到與第三方通訊的目的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章