1. http與https
http是http協議執行在tcp上,傳輸明文,客戶端和服務端無法驗證對方身份;
https是http協議執行在ssl/tls上,ssl/tls執行在tcp上,傳輸內容加密,客戶端可以驗證服務端身份,如果配置了客戶端驗證,服務端也可以驗證客戶端身份;
2. 什麼是url,url的構成
3. http狀態碼
1xx:資訊狀態碼
100:繼續,一般傳送post請求時,已經傳送了http header之後服務端返回此資訊,表示確認,之後傳送具體的引數資訊;
2xx:成功
200:完全ok,客戶端傳送的請求被服務端正確處理;
204:請求成功,但響應報文不包含實體的主體部分;
205:請求成功,但響應報文不包含實體的主體部分,要求請求方重置內容;
206:進行範圍請求;
3xx:重定向
301:永久重定向,資源已經被分配了新的url;
302:臨時重定向,資源臨時被分配了新的url;
303:資源存在另乙個url,請用get獲取資源;
304:資源允許訪問,但請求未滿足條件;
307:臨時重定向,但希望客戶端保持請求方式不變,向新的url發出請求;
4xx:客戶端錯誤
400:請求報文存在語法錯誤;
401:請求中沒有http認證資訊;
403:請求資源的訪問被伺服器拒絕;
404:伺服器上沒有找到請求的資源;
5xx:服務端錯誤
500:伺服器在執行請求時發生錯誤;
501:服務求不支援當前請求所需要的某個功能;
503:伺服器暫時處於超負載或停機維護狀態,無法處理請求;
4. tcp三次握手
建立連線前,服務端和客戶端需要通過握手來確認對方;
(1)客戶端 syn包 --> 服務端 (進入syn_send狀態,等待伺服器確認)
(2)服務端(接收到syn包並校驗)syn+ack包 --> 客戶端(進入syn_recv狀態)
(3)客戶端(接收到syn+ack包)ack包 --> 服務端(傳送完畢雙方進入established狀態)
5. tcp四次揮手
傳輸完成後,客戶端和服務端通過四次揮手斷開tcp連線;
(1)客戶端 fin包 --> 服務端 (fin_wait 通知服務端停止資料傳輸,此時服務端仍可接收資料)
(2)服務端 (接收到fin包)ack包 --> 客戶端 (close_wait)
(3)服務端 fin包 --> 客戶端 (last_ack 通知客戶端已完成資料傳輸,不會再傳送資料)
(4)客戶端 (接收到fin包)ack包 --> 服務端 (結束)
6. post和get區別
(1)get傳輸資料放在url裡;
(2)get相比post來講是不安全的,傳輸資料可見,post傳輸資料是不可見的;
(3)get受url限制傳輸資料量小,post不受限制;
(4)get傳輸效率比post好,get把header和data一起傳輸,乙個tcp包,post先傳header,服務端響應100,再傳data,服務端響應200,兩個tcp包;
7. tcp和udp
udp面向無連線,不需要三次握手確認對方即可傳輸資料,可靠性低,效率高;
對於一些需要高體驗性的場景,比如直播、遊戲,一般使用udp傳輸;
全網前端面試題彙總(5)Vue
1.mvc和mmvm mvc model view controller 模型 檢視 控制器 model 模型 處理資料邏輯的部分 view 檢視 處理資料顯示的部分 controller 控制器 處理使用者互動的部分 mvc的思想 controller負責將model的資料用view顯示出來 in...
全網前端面試題彙總(1)CSS
1.css3新特性 1 border radius 圓角 box shadow 陰影 text shadow 文字陰影特效 2 background linear gradient 線性漸變 radial gradient 徑向漸變 background多背景 size orgin等 3 trans...
前端面試題目彙總
面試是個漫長的過程,從海投到收穫 面試,一面 二面 三面,乙個步驟出錯那麼後面就宣告終結。同時,面試過程中你也可能會遇到一些面試官的刁難,甚至部分面試官會說些比較打擊你的話,但是大部分面試官都是很棒的 前端面試題目彙總 必須有牢固的基礎知識,足夠豐富的專案經歷。一 基礎j ascript get請求...