208面試題 網路

2021-10-25 11:01:26 字數 2351 閱讀 6878

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

301 moved permanently:

被請求的資源已永久移動到新位置,並且將來任何對此資源的引用都應該使用本響應返回的若干個 uri 之一。如果可能,擁有鏈結編輯功能的客戶端應當自動把請求的位址修改為從伺服器反饋回來的位址。除非額外指定,否則這個響應也是可快取的。

302 found:

請求的資源現在臨時從不同的 uri 響應請求。由於這樣的重定向是臨時的,客戶端應當繼續向原有位址傳送以後的請求。只有在cache-control或expires中進行了指定的情況下,這個響應才是可快取的。

區別:

80.forward 和 redirect 的區別?

資料共享方面

forward-**頁面和**到的頁面可以共享request裡面的資料。

redirect-不能共享資料。

位址列顯示方面

forward-是伺服器請求支援,伺服器直接訪問目標位址的url,把那個url的響應內容讀取過來,然後把這些內容再發給瀏覽器,瀏覽器更不知道伺服器傳送的內容來自**,所以它的位址列還是原來的位址。

redirect-是服務端根據邏輯,傳送乙個狀態碼(302),告訴瀏覽器重新去請求那個位址,所以位址列顯示的是新的url。

效率方面

forward效率更高。

應用場景方面

forward-一般用於使用者登入。

redirect- 用於使用者登出登入返回主頁面或者跳轉其他頁面。

本質方面

forward-**是伺服器上的行為。

redirect-是客戶端行為。

81.簡述 tcp 和 udp的區別?

tcp:是面向連線的通訊協議,通過三次握手建立連線,通訊完成時四次揮手。

udp:是面向無連線的通訊協議,udp資料報括目的埠號和源埠號資訊。

82.tcp 為什麼要三次握手,兩次不行嗎?為什麼?

兩次握手只能保證單向連線是可以的。

只有經過第三次握手,才能確保雙向都可以接收到對方的傳送的資料。

打比方說,小明和小紅需要互相傳輸資料:

小明:小紅,聽到了嗎

小紅:聽到了,收到。

到此是完成了兩次握手,但是目前只能保證小紅可以收到小明的資料,但是小明還沒接收到小紅要傳送的資料,所以需要再一次握手。

小明:我也聽到了,可以了。

到此就完成了三次握手,互相可以聽到彼此發的資訊。互相接收對方的傳輸資料了,所以知道為什麼要完成三次握手了吧。

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

tcp 粘包可能發生在傳送端或者接收端,分別來看兩端各種產生粘包的原因:

傳送端粘包:傳送端需要等緩衝區滿才傳送出去,造成粘包;

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

84.osi 的七層模型都有哪些?

osi模型分為七層自下而上為:

85.get 和 post 請求有哪些區別?

get是不安全的,因為在傳輸過程,資料被放在請求的url中;post的所有操作對使用者來說都是不可見的。

get傳送的資料量較小,這主要是因為受url長度限制;post傳送的資料量較大,一般被預設為不受限制。

get限制form表單的資料集的值必須為ascii字元;post支援整個iso10646字符集。

get執行效率卻比post方法好。get是form提交的預設方法。

86.如何實現跨域?

document.domain + iframe跨域:兩個頁面都通過js強制設定。

document.domain為基礎主域,就實現了同域。

location.hash + iframe跨域:a欲與b跨域相互通訊,通過中間頁c來實現。 三個頁面,不同域之間利用iframe的location.hash傳值,相同域之間直接js訪問來通訊。

window.name + iframe跨域:通過iframe的src屬性由外域轉向本地域,跨域資料即由iframe的window.name從外域傳遞到本地域。

postmessage跨域:可以跨域操作的window屬性之一。

cors:服務端設定access-control-allow-origin即可,前端無須設定,若要帶cookie請求,前後端都需要設定。

**跨域:啟乙個**伺服器,實現資料的**。

詳情參考:

87.說一下 jsonp 實現原理?

首先是利用script標籤的src屬性來實現跨域。

通過將前端方法作為引數傳遞到伺服器端,然後由伺服器端注入引數之後再返回,實現伺服器端向客戶端通訊。

由於使用script標籤的src屬性,因此只支援get方法。

208面試題 物件拷貝

61.為什麼要使用轉殖?想對乙個物件進行處理,又想保留原有的資料進行接下來的操作,就需要轉殖了。轉殖分淺轉殖和深轉殖,淺轉殖後的物件中非基本物件和原物件指向同一塊記憶體,因此對這些非基本物件的修改會同時更改轉殖前後的物件。深轉殖可以實現完全的轉殖,可以用反射的方式或序列化的方式實現。62.如何實現物...

網路面試題

http協議2.0和1.1的區別 tomcat的一次訪問過程,怎麼實現檔案斷點續傳 如何理解冪等?專案中介面的冪等是如何做的?冪等是指多次執行,影響相同。比如大多數post操作,重複提交訂單等,最終只會有乙個訂單生成成功。還有一種情況就是訊息,由於大多數mq之保證at least once,所以訊息...

網路管理面試題

網路管理面試題請幫忙解答一下,謝謝了。懸賞分 50 2007 6 19 17 27 1.某公司有兩棟大樓,分別為一層和四層,中間距離50公尺 樓兩邊的寬度為 100多公尺,現因發展需要,需要組建乙個 100台機左右的區域網,並劃分為 5個子網,其中一層樓的安裝 20台機,四層樓的各層分別安裝 20臺...