計算機網路(五)常見面試題
1、session和cookie的區別
相同:都是用來跟蹤瀏覽器使用者身份的會話方式。
不同:
(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
3.當客戶端瀏覽器中禁止 Cookie,Servlet 容器無法從客戶端瀏覽器中取得作為 Cookie 的 Session ID,也就無法跟蹤客戶狀態。
Java Servlet API 中提出了跟蹤 Session
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