課程思維導(dǎo)圖

HTTP.png
Q:HTTP的主要特點(diǎn)是什么?
無連接、無狀態(tài)
Q:介紹下HTTP報(bào)文的組成部分?
- 請(qǐng)求報(bào)文:請(qǐng)求行、請(qǐng)求頭、空行、請(qǐng)求體
- 響應(yīng)報(bào)文:狀態(tài)行、響應(yīng)頭、空行、響應(yīng)體
以請(qǐng)求報(bào)文為例:
- 請(qǐng)求行:HTTP方法、頁面地址、HTTP協(xié)議及版本
- 請(qǐng)求頭:key-value值,告訴服務(wù)端需要的內(nèi)容
- 空行:告知服務(wù)端以下內(nèi)容為請(qǐng)求體
- 請(qǐng)求體:數(shù)據(jù)部分
Q:常見的HTTP方法有哪些?
- GET:獲取資源
- POST:傳輸資源
- PUT:更新資源
- DELETE:刪除資源
- HEAD:獲得報(bào)文首部
Q:POST和GET的區(qū)別是什么?
- GET在瀏覽器回退時(shí)是無害的,而POST會(huì)再次提交請(qǐng)求
- GET請(qǐng)求會(huì)被瀏覽器主動(dòng)緩存,而POST不會(huì),除非手動(dòng)設(shè)置
- GET請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽器的歷史記錄里,而POST中的參數(shù)不會(huì)被保留
- GET請(qǐng)求在URL中傳遞的參數(shù)是有長(zhǎng)度限制的,POST沒有限制
- POST比GET安全,因參數(shù)暴露在URL上
- GET參數(shù)通過URL傳遞,POST放在Request body 中
Q:狀態(tài)碼表示的含義是?
- 1XX:指示信息:請(qǐng)求已接收,繼續(xù)處理
- 2XX:成功,請(qǐng)求已被成功接收
- 3XX:重定向,完成請(qǐng)求需要進(jìn)一步的操作
- 4XX:客戶端錯(cuò)誤,請(qǐng)求有語法錯(cuò)誤或請(qǐng)求無法實(shí)現(xiàn)
- 5XX:服務(wù)器錯(cuò)誤:服務(wù)端未能實(shí)現(xiàn)合法的請(qǐng)求
Q:常見狀態(tài)碼有哪些?
- 200:OK,客戶端請(qǐng)求成功
- 206:Partial Content:客戶端發(fā)送一個(gè)帶有Range頭的GET請(qǐng)求,服務(wù)器完成了他
- 301:Moved Permanently:所請(qǐng)求的頁面已轉(zhuǎn)移至新的URL
- 302:Found:所請(qǐng)求的頁面已經(jīng)臨時(shí)轉(zhuǎn)移到新的URL
- 304:Not Modified:客戶端有緩存的文檔,并發(fā)出一個(gè)條件性的請(qǐng)求,服務(wù)器告訴客戶端,原來的緩存的文檔可以繼續(xù)使用
- 400:Bad Request:客戶端請(qǐng)求有語法錯(cuò)誤,不能被服務(wù)器所理解
- 401:Unauthorized:請(qǐng)求未經(jīng)授權(quán),必須與WWW-Authenticate報(bào)頭域一起使用
- 403:Forbidden:對(duì)被請(qǐng)求頁面的訪問被禁止
- 404:Not Found:請(qǐng)求資源不存在
- 500:Internal Server Error:服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤
- 503:Server Unavailable:請(qǐng)求未完成,服務(wù)器臨時(shí)過載或宕機(jī)
Q:介紹下持久鏈接(HTTP1.1)?
- HTTP協(xié)議采用“請(qǐng)求-應(yīng)答”模式,當(dāng)使用普通模式,即非keep-Alive模式時(shí),每個(gè)請(qǐng)求/應(yīng)答客戶和服務(wù)器都要新一個(gè)連接,完成之后立即斷開連接。
- 當(dāng)使用keep-Alive模式(持久鏈接)時(shí),keep-Alive功能使客戶端到服務(wù)器端的連接持久有效,當(dāng)出現(xiàn)服務(wù)器的后繼請(qǐng)求時(shí),keep-Alive避免重新建立連接
Q:管線化是什么?
在使用持久連接的情況下,常規(guī)的消息傳遞是類似于:請(qǐng)求1 => 響應(yīng)1 => 請(qǐng)求2 => 響應(yīng)2 => 請(qǐng)求3 => 響應(yīng)3,而管線化的消息傳遞是類似于請(qǐng)求1 => 請(qǐng)求2 => 請(qǐng)求3 => 響應(yīng)1 => 響應(yīng)2 => 響應(yīng)3
Q:管線化的特點(diǎn)是什么?
- 通道持久建立,請(qǐng)求打包后,一起送過去,響應(yīng)也是,打包后送回來
- 管線化機(jī)制通過持久連接完成,僅HTTP1.1支持
- 只有GET、HEAD請(qǐng)求可以進(jìn)行管線化,而POST有所限制
- 初次創(chuàng)建連接時(shí)不應(yīng)開啟管線化機(jī)制,因?qū)Ψ椒?wù)器不一定支持HTTP1.1