1. 程式人生 > >計算機網路(五)常見面試題

計算機網路(五)常見面試題

1、sessioncookie的區別

相同:都是用來跟蹤瀏覽器使用者身份的會話方式。

不同:

(1)session是儲存在伺服器端,跟蹤使用者狀態,可儲存在叢集、資料庫、檔案等。Cookie是儲存在客戶端的,是session的一種實現方式。

(2)Cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,如果考慮到安全應該使用session.

(3)Session會在一定時間內儲存在伺服器上,當訪問增多,會佔用伺服器的效能,如果主要考慮到減輕伺服器效能方面,應當使用cookie

4)登陸資訊等重要資訊存放為session。其他資訊如果需要保留,可以放在cookie

伺服器端如何能識別特定的使用者?

原理:當第一次建立session時,伺服器端會在http協議中告訴客戶端,在cookie上儲存sessionId,每次http請求時,客戶端都會發送相應cookie資訊給伺服器端。

2、HTTP請求中Session實現原理

1. Java Servlet API 中引用 Session 機制來追蹤客戶的狀態。Servlet API 中定義了 javax.servlet.http.HttpSession 介面,Servlet 容器必須實現這個介面。

2.當一個 Session 開始時,Servlet 容器將建立一個 HttpSession 物件,Servlet

容器為 HttpSession 分配一個唯一識別符號,稱為 Session IDServlet 容器將 Session ID 作為 Cookie 儲存在客戶的瀏覽器中。每次客戶發出 HTTP 請求時,Servlet 容器可以從 HttpRequest 物件中讀取 Session ID,然後根據 Session ID 找到相應的 HttpSession 物件,從而獲取客戶的狀態資訊。

3.當客戶端瀏覽器中禁止 CookieServlet 容器無法從客戶端瀏覽器中取得作為 Cookie Session ID,也就無法跟蹤客戶狀態。  

Java Servlet API 中提出了跟蹤 Session

的另一種機制,如果客戶端瀏覽器不支援 CookieServlet 容器可以重寫客戶請求的 URL,把 Session ID 新增到 URL 資訊中。  

4. HttpServletResponse 介面提供了重寫 URL 的方法public java.lang.String encodeURL(java.lang.String url)  

該方法的實現機制為:   

先判斷當前的 Web 元件是否啟用 Session,如果沒有啟用 Session,直接返回引數 url。   

再判斷客戶端瀏覽器是否支援 Cookie,如果支援 Cookie,直接返回引數 url;如果不支援 Cookie,就在引數 url 中加入 Session ID 資訊,然後返回修改後的 url。   

我們可以對網頁中的連結稍作修改,解決以上問題:

修改前:

<a href=“maillogin.jsp“>   

修改後:  

<a href=“<%=response.encodeURL(“maillogin.jsp“)%>“>  

 3、網路計算題:

1)以下幾條路由

10.1.193.0/24,10.1.194.0/24,10.1.196.0/24,10.1.198.0/24,如果進行路由匯聚,則能覆蓋這幾條路由地址的是()

A 10.1.192.0/22

B 10.1.200.0/22

C 10.1.192.0/21

D 10.1.224.0/20

解析:C.

10.1.193.0的二進位制:00001010.00000001.11000 001.00000000

10.1.194.0的二進位制:00001010.00000001.11000 010.00000000

10.1.196.0的二進位制:00001010.00000001.11000 100.00000000

10.1.198.0的二進位制:00001010.00000001.11000 110.00000000

則子網掩碼為:11111111.11111111.11111 000.00000000(255.255.248.0)

子網掩碼代表網路號+主機號,IP地址的前21位都相同,則作為網路號,後11位作為主機號。(21代表21個1)

則子網掩碼&IP地址為00001010.00000001.11000 000.00000000即10.1.192.0/21.

21如何得到:網路號的位數:21個1

其中從193、194、196、198二進位制可以得到11000相同。則加上10.1相同的部分。則網路號=8+8+5=21

2)Https的埠號是443

(linux)-r是搜尋子目錄 -n是顯示行號資訊,grep是搜尋包含xx字串的檔案 find -name是搜尋檔名包含xx

(3)一臺剛剛接入網際網路的WEB伺服器第一次被訪問到時,不同協議的發生順序是下面中的____。

A ARP -> DNS -> HTTP

B ARP -> HTTP -> DNS

C DNS -> HTTP -> ARP

D DNS -> ARP -> HTTP

E HTTP -> ARP -> DNS

F HTTP -> DNS -> ARP

答案:A。當伺服器第一次接入到網路中時,會自動傳送ARP資訊,使得接入閘道器能找的到它;當用戶使用域名請求時,先把URL中域名解析為IP地址,根據IP地址和埠80與伺服器建立連線,瀏覽器發出讀取讀取檔案的HTTP請求,作為TCP連線的第三次連線的報文段傳送。

4)路由資訊是由{目的主機所在的網路地址,下一跳地址,子網掩碼}組成

5如果將網路IP段40.15.128.0/17劃分成2個子網,則第一個子網IP段為40.15.128.0/18,則第二個子網為:

A 40.15.129.0/18

B 40.15.128.128/18

C 40.15.192.0/17

D 40.15.192.0/18

解:D劃分子網就是佔用IP一個主機位。40.15.128.0/17,從主機位分一位,從17之後的第18位,剛好是64,即在原來的基礎加上64,變成 40.15.192.0/18

6)網路地址為172.16.0.0,採用子網掩碼255.255.224.0 .以下說法正確的是()

A其中一個子網的廣播地址為:172.16.32.255

B其中一個子網的廣播地址為:172.16.128.255

C劃分了8個有效子網

D劃分了6個有效子網

答案:子網掩碼可以知:255.255.224.0的二進位制:11111111 11111111 11100000 00000000 網路號19位,主機號13位

根據IP地址可以知是B類網路,網路號為16位,則此子網ID為19-16=3位,子網個數2^3=8.去掉全為0和全為1的則8-2=6為有效子網。

廣播則是主機號全為1,即後13位全為1,則廣播IP例如

172.16.00011111 11111111   ==    172.16. 31.255

172.16.00111111 11111111   ==    172.16 .63.255