文章目錄
- 前言
- 正題
- 1、http狀態碼及其含義?
- 2、Http的常用的請求方式,區別和用途?
- 3、請簡單說一下你了解的埠及對應的服務?
- 4、計算機網路體系結構?
- 4.1、OSI七層模型
- 5、如何理解HTTP協議是無狀態的?
- 6、瀏覽器輸入地址到顯示主頁的程序?
- 7、HTTP/1.0、1.1、2.0的區別
- 8、互動程序中資料傳送完了,還不想斷開鏈接?
- 9、HTTP如何實作長連接?在什么時候會超時?
- 10、HTTP與HTTPS的區別?
- 11、Https的流程?
- 12、數字簽名?數字證書?
- 13、對稱加密和非對稱加密區別?
- 14、DNS決議程序?
- 15、CSRF攻擊是什么?如何防御?
前言
一方面是因為計算機網路這塊的知識太零碎不好記憶,另一方面是因為金九銀十的到來,所以給大家準備了以下題目,可以對計算機網路的知識進行一個簡單的梳理,
正題
1、http狀態碼及其含義?
1**:資訊,服務器收到請求,需要請求者繼續執行操作
2**:成功,請求被正確接收并處理工程
3**:重定向,需要進一步操作以完成請求
4**:客戶端錯誤,請求包含語法錯誤或無法完成請求
5**:服務器錯誤,服務器處理請求時出現錯誤
常用狀態碼
101:切換協議,只能切換到更高版本的協議,切換到http的新版本協議
200:請求成功,一般用于get請求和post請求
204:無內容,服務器處理成功,但未回傳內容
301:永久移動,請求的資源已被永久的移動到新URI,瀏覽器會自動定向到新URL,以后的請求都應使用新的URI
302:臨時移動,新的請求應還使用原來的URI
303:查看其他
400:客戶端請求的語法錯誤,服務器無法理解
401:請求要求用戶的身份認證
403:服務器理解客戶的請求,但是拒絕執行此請求
404:服務器無法根據此請求找到對應的資源
500:服務器內部錯誤
501:服務器不支持請求的功能,無法完成請求
505:服務器不支持請求的http協議的版本
2、Http的常用的請求方式,區別和用途?
GET:請求指定的頁面資訊,并回傳物體主體
HEAD:類似GET請求,只不過請求沒有內容,用于獲取報頭
POST:向指定資源提交資料進行處理,資料被包含在請求體中
PUT:向服務器提交資料,修改資料
DELETE:洗掉服務器得某些資源
CONNECT:HTTP/1.1協議中預留給能夠將鏈接改為管道方式的代理服務器
TRACE:回顯服務器收到的請求,主要用于測驗或診斷
OPTIONS:允許客戶端查看服務器的性能
3、請簡單說一下你了解的埠及對應的服務?
21:FTP
22:SSH
23:Telnet(遠程登陸)服務
25:SMTP(簡單郵件傳輸協議)
53:DNS域名服務器
80:HTTP超文本傳輸協議
443:HTTPS
1080:sockets
1521:Oracle默認埠
3306:MySQL默認埠
27017:MongoDB默認埠
6379:redis默認埠
7001:Weblogic默認埠
4、計算機網路體系結構?
- OSI七層模型
7、應用層
6、表示層
5、會話層
4、運輸層
3、網路層
2、資料鏈路層
1、物理層 - TCP/IP四層模型
應用層
運輸層(TCP or UDP)
網際層IP
網路介面層 - 五層體系結構
5、應用層
4、運輸層
3、網路層
2、資料鏈路層
1、物理層
4.1、OSI七層模型
會話層、表示層、應用層的重點內容:
1、資料傳輸基本單位為報文
2、包含的主要協議:FTP(檔案傳送協議),Telnet(遠程登陸協議),DNS(域名決議協議),SMTP(郵件傳送協議),HTTP協議
應用層:為作業系統或者應用提供訪問網路的介面,
表示層:對上層的資料或資訊進行變換保證一個主機的應用層資訊可以被另一個主機的應用程式所理解,表示層的資料轉換包括資料的加密、壓縮和格式轉換,
會話層:會話層管理主機之間會話行程、即負責建立、管理、終止行程之間的會話,會話層還利用子在資料中加入校驗點,實作資料的同步
運輸層:第一個端到端,主機到主機的層次,傳輸層資料負責將上層資料分段并提供端到端的,可靠的或不可靠的傳輸,
1、運輸層負責將上層資料分段并提供端到端的、可靠的或者不可靠的傳輸以及端到端的差錯控制和流量控制問題
2、包含的主要協議:TCP協議(Transmission Control Protocol 傳輸控制協議),UDP協議(User Datagram Protocol用戶資料包協議)
3、重要設備:網關
網路層:實作兩個端系統的資料透明傳送,具體功能包括路由選擇、連接建立等,最少的字記憶就是“路徑選擇、路由及邏輯尋址”,
1、子網間的資料包進行路由選擇,此外網路層還提供路由選擇,擁塞控制等
2、基本資料單位為IP資料報
3、包含的主要協議:
IP協議(Internet Protocol 因特網互聯協議)
ICMP協議(Internet Control Message Protocol 因特網控制報文協議)
ARP協議(Address Resolution Protocol 地址決議協議)
RARP協議(Reverse Address Resolution Protocol逆地址決議協議)
4、重要設備:路由器
資料鏈路層:物理地址尋址、資料的成幀、流量控制、資料的檢錯、重發,資料鏈路層是在物理層提供服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層的資料可靠的傳輸到相鄰節點的目標機網路層,在不可靠的物理媒介上為網路層提供可靠的服務,
1、資料鏈路層為網路層提供可靠的資料傳輸
2、基本資料單位為幀(frame)
3、主要的協議:以太網協議
4、兩個重要的設備:網橋和交換機
物理層:建立、鏈接、斷開物理鏈接,確保原始的資料可以在各種物理媒體上傳輸,有兩個重要的設備:中繼器(放大器)和集線器
5、如何理解HTTP協議是無狀態的?
1、HTTP的無狀態跟Cookie,Session等都沒有關系;
2、無狀態指的是兩個請求之間的相互獨立,第二個請求并不會知道第一個請求的情況,
有狀態:小明,國慶去哪里了?
去了北京
好玩嗎?
是的,非常好玩,
無狀態:小明,國慶去哪里了?
去了北京
好玩嗎?
什么?
6、瀏覽器輸入地址到顯示主頁的程序?
1、在瀏覽器地址欄輸入URL;
2、瀏覽器查看快取,看是不是”小鮮肉“(資料是否足夠新)
1)如果資源沒有快取,就發起請求
2)如果資源是新的,就直接回傳客戶端
判斷資源是否是新的,有兩個欄位:Expires和Cache-control
HTTP1.0 中提供Expires,表示一個絕對時間表示新鮮的時長
HTTP2.0中提供Cache-control:max-age=,的值以秒為單位,表示最長的保鮮時間,
3、瀏覽器決議URL獲取協議、主機、埠,path
4、瀏覽器組成一個http請求
5、瀏覽器獲取ip程序:
1)瀏覽器快取
2)本機快取
3)hosts檔案
4)路由器快取
5)ISP DNS快取
6)DNS遞回查詢(可能存在負載均衡導致每次的ip都不一樣)
6、打開一個socket與目標地址ip、埠建立鏈接,需要經過三次握手
1、客戶端發送一個SYN=1,Seq=X的包到服務器埠
2、服務器發回SYN=1,ACK=x+1,Seq=y的包
3、客戶端發送ACK=y+1,Seq=z的包
7、建立鏈接后 開始發送資料,瀏覽器接收回應后,決定是否關閉鏈接,關閉連接的時候需要四次揮手;
1、主動方發送Fin=1,ACK=z,Seq=x
2、接收方發送ACK=x+1,Seq=z
3、被動方發送Fin=1,ACK=x,seq=y
4、主動方發送ACK=Y,Seq=x
7、HTTP/1.0、1.1、2.0的區別
HTTP/1.0:需要明確開啟Keep_Alive
HTTP/1.1:默認開啟Keep-Alive,支持只發送head,支持host域,增加錯誤通知
HTTP/2.0:多路復用,頭部資料壓縮,服務器推送
8、互動程序中資料傳送完了,還不想斷開鏈接?
在 HTTP 中回應體的 Connection 欄位指定為 keep-alive
9、HTTP如何實作長連接?在什么時候會超時?
HTTP并不支持長連接,HTTP的長連接其實是TCP的長連接,長連接需要服務端和客戶端的支持,不同的服務器長連接的時間不一致,tomcat的應該是200ms,也可以設定Keep-Alive:timeout = 60,代表空閑60s后該長連接就會被關閉掉,
10、HTTP與HTTPS的區別?
HTTP:沒有加密
HTTPS:資料經過加密,HTTP+SSL,HTTPS按作用分為兩種,一種是建了一個安全資訊通道確保資料的安全,另一種是確認接收資訊的網站時安全的,
11、Https的流程?
(1)客戶端發送HTTPS請求,服務端回傳證書公鑰
(2)客戶端產生隨機對稱密鑰
(3)客戶端使用公鑰對隨機對稱密鑰加密
(4)客戶端發送加密的隨機對稱密鑰
(5)客戶端通過加密后的對稱密鑰進行通信
12、數字簽名?數字證書?
數字簽名:保證資料的正確性和完整性
數字證書:證明你自己是你自己
13、對稱加密和非對稱加密區別?
對稱加密:密碼只有一個,加密速度快
非對稱加密:公鑰和私鑰,安全速度較慢
14、DNS決議程序?
(1)www.baidu.com發送之后,會先看瀏覽器是否有記錄,有就直接結束,訪問這個IP地址,地址也通過TTL來設定;
(2)如果瀏覽器沒有命中,瀏覽器會檢查作業系統中是否有快取,如windows里邊的hosts檔案
(3)如果還沒有命中,就去去訪問本地域名服務器(LDNS),80%的請求應該都會在這里結束;
(4)如果在LDNS仍然沒有找到,那么就去找Root Server域名服務器進行決議;
(5)根域名服務器會回傳給LDNS一個所查詢域的主域名服務器(gTLD Server,國際頂級域名服務器,如com,cn等 )
(6)此時LDNS再發送請求給上一步回傳的主域名服務器
(7)接收請求的GTLD Server查詢并回傳這個域名的Name Server地址,這個Name Server就是網站注冊的域名服務器
(8)Name Server根據映射找到對應的IP,回傳LDNS
(9)LDNS快取這個域名和對應的IP
(10)LDNS把決議的結果回傳給客戶,客戶通過這個IP進行訪問
15、CSRF攻擊是什么?如何防御?
CSRF:跨站請求偽造,
通過referer欄位和添加Token進行驗證
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/321161.html
標籤:其他
