1.git fetch和git pull的區別?
git pull:至關因而從遠程獲取最新版本並merge到本地
git fetch:至關因而從遠程獲取最新版本到本地,不會自動merge
複製代碼
2.說說網絡分層裏七層模型是哪七層?
應用層:
應用層、表示層、會話層(從上往下)(HTTP、FTP、SMTP、DNS)
傳輸層(TCP和UDP)
網絡層(IP)
物理和數據鏈路層(以太網)
每一層的做用以下:
物理層:
經過媒介傳輸比特,
肯定機械及電氣規範(比特Bit)
數據鏈路層:
將比特組裝成幀和點到點的傳遞(幀Frame)
網絡層:
負責數據包從源到宿的傳遞和網際互連(包PackeT)
傳輸層:
提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
會話層:
創建、管理和終止會話(會話協議數據單元SPDU)
表示層:
對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
應用層:
容許訪問OSI環境的手段(應用協議數據單元APDU)
各類協議:
ICMP協議:
因特網控制報文協議。
它是TCP/IP協議族的一個子協議,
用於在IP主機、路由器之間傳遞控制消息。
TFTP協議:
是TCP/IP協議族中的一個用來在客戶機與
服務器之間進行簡單文件傳輸的協議,
提供不復雜、開銷不大的文件傳輸服務。
HTTP協議:
超文本傳輸協議,
是一個屬於應用層的面向對象的協議,
因爲其簡捷、快速的方式,
適用於分佈式超媒體信息系統。
DHCP協議:
動態主機配置協議,
是一種讓系統得以鏈接到網絡上,
並獲取所須要的配置參數手段。
複製代碼
3.說說mongoDB和MySQL的區別?
`MySQL`是傳統的關係型數據庫,
`MongoDB`則是非關係型數據庫
mongodb以BSON結構(二進制)進行存儲,
對海量數據存儲有着很明顯的優點。
對比傳統關係型數據庫,
NoSQL有着很是顯著的性能和擴展性優點,
與關係型數據庫相比,
MongoDB的優勢有:
①弱一致性(最終一致),更能保證用戶的訪問速度:
②文檔結構的存儲方式,可以更便捷的獲取數據。
複製代碼
4.講講304緩存的原理?
服務器首先產生ETag,
服務器可在稍後使用它來判斷頁面是否已經被修改。
本質上,
客戶端經過將該記號傳回服務器
要求服務器驗證其(客戶端)緩存。
304是HTTP狀態碼,
服務器用來標識這個文件沒修改,
不返回內容,
瀏覽器在接收到個狀態碼後,
會使用瀏覽器已緩存的文件
客戶端請求一個頁面(A)。
服務器返回頁面A,並在給A加上一個ETag。
客戶端展示該頁面,並將頁面連同ETag一塊兒緩存。
客戶再次請求頁面A,
並將上次請求時服務器返回的ETag一塊兒傳遞給服務器。
服務器檢查該ETag,
並判斷出該頁面自上次客戶端請求以後還未被修改,
直接返回響應304(未修改——Not Modified)和一個空的響應體。
複製代碼
5.用node模擬客戶端發起請求?
var http = require("http");
var request = http.request({
host:"localhost",
port:"8080",
path:"/request",
method:"post"
},function(res){
res.on("data",function(chunk){
console.log(chunk.toString());
});
});
request.write("user=zhang&pass=111");
request.end("請求結束");//結束本次請求
複製代碼