面試9:HTTP

課程思維導(dǎo)圖

HTTP.png

Q:HTTP的主要特點(diǎn)是什么?

無連接、無狀態(tài)

Q:介紹下HTTP報(bào)文的組成部分?

  1. 請(qǐng)求報(bào)文:請(qǐng)求行、請(qǐng)求頭、空行、請(qǐng)求體
  2. 響應(yīng)報(bào)文:狀態(tài)行、響應(yīng)頭、空行、響應(yīng)體

以請(qǐng)求報(bào)文為例:

  1. 請(qǐng)求行:HTTP方法、頁面地址、HTTP協(xié)議及版本
  2. 請(qǐng)求頭:key-value值,告訴服務(wù)端需要的內(nèi)容
  3. 空行:告知服務(wù)端以下內(nèi)容為請(qǐng)求體
  4. 請(qǐng)求體:數(shù)據(jù)部分

Q:常見的HTTP方法有哪些?

  1. GET:獲取資源
  2. POST:傳輸資源
  3. PUT:更新資源
  4. DELETE:刪除資源
  5. HEAD:獲得報(bào)文首部

Q:POST和GET的區(qū)別是什么?

  1. GET在瀏覽器回退時(shí)是無害的,而POST會(huì)再次提交請(qǐng)求
  2. GET請(qǐng)求會(huì)被瀏覽器主動(dòng)緩存,而POST不會(huì),除非手動(dòng)設(shè)置
  3. GET請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽器的歷史記錄里,而POST中的參數(shù)不會(huì)被保留
  4. GET請(qǐng)求在URL中傳遞的參數(shù)是有長(zhǎng)度限制的,POST沒有限制
  5. POST比GET安全,因參數(shù)暴露在URL上
  6. GET參數(shù)通過URL傳遞,POST放在Request body 中

Q:狀態(tài)碼表示的含義是?

  1. 1XX:指示信息:請(qǐng)求已接收,繼續(xù)處理
  2. 2XX:成功,請(qǐng)求已被成功接收
  3. 3XX:重定向,完成請(qǐng)求需要進(jìn)一步的操作
  4. 4XX:客戶端錯(cuò)誤,請(qǐng)求有語法錯(cuò)誤或請(qǐng)求無法實(shí)現(xiàn)
  5. 5XX:服務(wù)器錯(cuò)誤:服務(wù)端未能實(shí)現(xiàn)合法的請(qǐng)求

Q:常見狀態(tài)碼有哪些?

  1. 200:OK,客戶端請(qǐng)求成功
  2. 206:Partial Content:客戶端發(fā)送一個(gè)帶有Range頭的GET請(qǐng)求,服務(wù)器完成了他
  3. 301:Moved Permanently:所請(qǐng)求的頁面已轉(zhuǎn)移至新的URL
  4. 302:Found:所請(qǐng)求的頁面已經(jīng)臨時(shí)轉(zhuǎn)移到新的URL
  5. 304:Not Modified:客戶端有緩存的文檔,并發(fā)出一個(gè)條件性的請(qǐng)求,服務(wù)器告訴客戶端,原來的緩存的文檔可以繼續(xù)使用
  6. 400:Bad Request:客戶端請(qǐng)求有語法錯(cuò)誤,不能被服務(wù)器所理解
  7. 401:Unauthorized:請(qǐng)求未經(jīng)授權(quán),必須與WWW-Authenticate報(bào)頭域一起使用
  8. 403:Forbidden:對(duì)被請(qǐng)求頁面的訪問被禁止
  9. 404:Not Found:請(qǐng)求資源不存在
  10. 500:Internal Server Error:服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤
  11. 503:Server Unavailable:請(qǐng)求未完成,服務(wù)器臨時(shí)過載或宕機(jī)

Q:介紹下持久鏈接(HTTP1.1)?

  1. HTTP協(xié)議采用“請(qǐng)求-應(yīng)答”模式,當(dāng)使用普通模式,即非keep-Alive模式時(shí),每個(gè)請(qǐng)求/應(yīng)答客戶和服務(wù)器都要新一個(gè)連接,完成之后立即斷開連接。
  2. 當(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)是什么?

  1. 通道持久建立,請(qǐng)求打包后,一起送過去,響應(yīng)也是,打包后送回來
  2. 管線化機(jī)制通過持久連接完成,僅HTTP1.1支持
  3. 只有GET、HEAD請(qǐng)求可以進(jìn)行管線化,而POST有所限制
  4. 初次創(chuàng)建連接時(shí)不應(yīng)開啟管線化機(jī)制,因?qū)Ψ椒?wù)器不一定支持HTTP1.1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng) app 和服務(wù)器進(jìn)行通信的時(shí)候,大多數(shù)情況下,都是采用 HTTP 協(xié)議。HTTP 最初是為 web 瀏覽器而定...
    Flysss1219閱讀 1,422評(píng)論 0 4
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,931評(píng)論 1 92
  • 作者:滌生_Woo鏈接:http://www.itdecent.cn/p/6e9e4156ece3 本篇文章篇幅...
    Fi的學(xué)習(xí)筆記閱讀 1,822評(píng)論 0 4
  • 吸引力法則就是一種自然法則,跟萬有引力定律一樣公正無私,既精準(zhǔn)又正確。 我們大多數(shù)人都是依著“默認(rèn)方式”在吸引事物...
    defc52b00d94閱讀 223評(píng)論 0 0
  • 好萊塢編劇查理·考夫曼被稱為電影界的“鬼才編劇”。他憑借劇本《傀儡人生》一舉成名,其他為人熟知的作品包括《改編劇本...
    金雪一閱讀 427評(píng)論 1 0

友情鏈接更多精彩內(nèi)容