這裏有一份簡潔的前端知識體系等待你查收,看看吧,會有驚喜哦~若是以爲不錯,懇求star哈~前端
課程思惟導圖
Q:HTTP的主要特色是什麼?
無鏈接、無狀態git
Q:介紹下HTTP報文的組成部分?
- 請求報文:請求行、請求頭、空行、請求體
- 響應報文:狀態行、響應頭、空行、響應體
以請求報文爲例:github
- 請求行:HTTP方法、頁面地址、HTTP協議及版本
- 請求頭:key-value值,告訴服務端須要的內容
- 空行:告知服務端如下內容爲請求體
- 請求體:數據部分
Q:常見的HTTP方法有哪些?
- GET:獲取資源
- POST:傳輸資源
- PUT:更新資源
- DELETE:刪除資源
- HEAD:得到報文首部
Q:POST和GET的區別是什麼?
能夠從GET的優點跟劣勢去記憶。瀏覽器
優點:緩存
- GET在瀏覽器回退時是無害的,而POST會再次提交請求
- GET請求會被瀏覽器主動緩存,而POST不會,除非手動設置
劣勢:安全
- GET 不安全,參數暴露在URL上,而且會完整保留在瀏覽器的歷史記錄裏
- GET請求在URL中傳遞的參數是有長度限制的,POST沒有限制
Q:狀態碼錶示的含義是?
- 1XX:指示信息:請求已接收,繼續處理
- 2XX:成功,請求已被成功接收
- 3XX:重定向,完成請求須要進一步的操做
- 4XX:客戶端錯誤,請求有語法錯誤或請求沒法實現
- 5XX:服務器錯誤:服務端未能實現合法的請求
Q:常見狀態碼有哪些?
- 200:OK,客戶端請求成功
- 206:Partial Content:客戶端發送一個帶有Range頭的GET請求,服務器完成了他
- 301:Moved Permanently:所請求的頁面已轉移至新的URL
- 302:Found:所請求的頁面已經臨時轉移到新的URL
- 304:Not Modified:客戶端有緩存的文檔,併發出一個條件性的請求,服務器告訴客戶端,原來的緩存的文檔能夠繼續使用
- 400:Bad Request:客戶端請求有語法錯誤,不能被服務器所理解
- 401:Unauthorized:請求未經受權,必須與WWW-Authenticate報頭域一塊兒使用
- 403:Forbidden:對被請求頁面的訪問被禁止
- 404:Not Found:請求資源不存在
- 500:Internal Server Error:服務器發生不可預期的錯誤
- 503:Server Unavailable:請求未完成,服務器臨時過載或宕機
Q:介紹下持久連接(HTTP1.1)?
- HTTP協議採用「請求-應答」模式,當使用普通模式,即非keep-Alive模式時,每一個請求/應答客戶和服務器都要新一個鏈接,完成以後當即斷開鏈接。
- 當使用keep-Alive模式(持久連接)時,keep-Alive功能使客戶端到服務器端的鏈接持久有效,當出現服務器的後繼請求時,keep-Alive避免從新創建鏈接
Q:管線化是什麼?
在使用持久鏈接的狀況下,常規的消息傳遞是相似於:請求1 => 響應1 => 請求2 => 響應2 => 請求3 => 響應3,而管線化的消息傳遞是相似於請求1 => 請求2 => 請求3 => 響應1 => 響應2 => 響應3服務器
Q:管線化的特色是什麼?
- 通道持久創建,請求打包後,一塊兒送過去,響應也是,打包後送回來
- 管線化機制經過持久鏈接完成,僅HTTP1.1支持
- 只有GET、HEAD請求能夠進行管線化,而POST有所限制
- 初次建立鏈接時不該開啓管線化機制,因對方服務器不必定支持HTTP1.1