HTTP相關(guān)面試一

1、HTTP協(xié)議的簡(jiǎn)介

底層協(xié)議是tcp協(xié)議

  • 基本概念:
    • 協(xié)議:指計(jì)算機(jī)通信網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或規(guī)則
    • Http協(xié)議:超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳輸?shù)娇蛻舳说臑g覽器
  • Uri和Url的區(qū)別:

Uri:是uniform responrce identifier,統(tǒng)一資源標(biāo)識(shí)符,用來唯一標(biāo)識(shí)一個(gè)資源

file://a:1234/b/c/d.txt

1、URL是 uniform resource locator,統(tǒng)一資源定位器,它是一種具體的Uri,即url可以用來標(biāo)識(shí)一個(gè)資源,而且還指明如何locate這個(gè)資源

www.baidu.com

2、URL三個(gè)組成部分
(url是具體的uri,強(qiáng)調(diào)的是路徑)

  • 協(xié)議
  • 存有該資源的主機(jī)ip地址
  • 主機(jī)資源的具體地址

2、HTTP協(xié)議的特點(diǎn)

  • 簡(jiǎn)單快速
  • 無(wú)連接(限制每次只處理一個(gè)請(qǐng)求)
  • 無(wú)狀態(tài)(對(duì)處理的事務(wù)沒有記憶)

3、request/response原理

協(xié)議:GET HTTP1.1
主機(jī):Host
操縱系統(tǒng):UserAgent
接收數(shù)據(jù)類型:Accept

4、HTTP協(xié)議中比較容易混淆的知識(shí)點(diǎn)

  1. http1.1/http1.0的區(qū)別

    ①http1.0產(chǎn)生的背景

    超文本傳輸協(xié)議(HyperText Transfer Protocol)伴隨著計(jì)算機(jī)網(wǎng)絡(luò)和瀏覽器的誕生,HTTP1.0也隨之而來,處于計(jì)算機(jī)網(wǎng)絡(luò)中的應(yīng)用程序

    ②http1.0所做的優(yōu)化

    帶寬:現(xiàn)階段已經(jīng)解決
    延遲:①瀏覽器阻塞:瀏覽器對(duì)于同一個(gè)域名,同時(shí)只能用4個(gè)連接。
    延遲:②DNS查詢:瀏覽器需要知道目標(biāo)服務(wù)器的IP才能建立連接
    延遲:③建立連接:三次握手

    ③http1.1/http1.0的具體區(qū)別

    緩存處理
    帶寬優(yōu)化及網(wǎng)絡(luò)連接的作用
    Host頭處理
    長(zhǎng)連接(傳輸多個(gè)http連接,避免每次請(qǐng)求創(chuàng)建連接)

    ④http1.1和http1.0存在的問題
    A:HTTP1.x在傳輸數(shù)據(jù)時(shí),每次需要重新建立連接,無(wú)疑增加了大量延時(shí)時(shí)間

    B:HTTP1.x在傳輸數(shù)據(jù)時(shí),所有的傳輸內(nèi)容都是明文,客戶端和服務(wù)器端都無(wú)法驗(yàn)證對(duì)方身份(無(wú)法保證安全)

    C:HTTP1.x在使用時(shí),header里攜帶的內(nèi)容過大,在一定程度上增加了傳輸成本(浪費(fèi)流量傳入過多的header信息)

    D:雖然HTTP1.x支持keep-alive,來彌補(bǔ)多次創(chuàng)建連接產(chǎn)生的延遲,但是keep-alive使用多了同樣會(huì)給服務(wù)端帶來大量的性能壓力

  1. get/post方法區(qū)別

    提交數(shù)據(jù)(get獲取資源post更新資源)

    提交數(shù)據(jù)的大小有限制(url有限制,post提交的是body)

    取得變量的值Request.QueryString vs Request.Form

    安全問題

  2. cookie和session

    • 什么是cookie
      Cookie技術(shù)是客戶端的解決方案,Cookie就是由服務(wù)器發(fā)給客戶端的特殊信息,而這些信息以文本文件的方式存放在客戶端,然后客戶端每次向服務(wù)器發(fā)送請(qǐng)求的時(shí)候都會(huì)帶上這些特殊的信息。(請(qǐng)求成功后server向client設(shè)置cookie,相當(dāng)發(fā)放獨(dú)一無(wú)二的通行證來辨別用戶)

    • 什么是session
      Session是另一種記錄客戶端狀態(tài)的機(jī)制,不同的Cookie保存在客戶端瀏覽器中,而Session保存在服務(wù)器上。客戶端瀏覽器訪問服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上。

      ①創(chuàng)建一個(gè)session(服務(wù)運(yùn)行時(shí))
      ②在創(chuàng)建了Session的同時(shí),服務(wù)器會(huì)為該Session生成唯一的Session id
      ③在Session被創(chuàng)建之后,就可以調(diào)用Session相關(guān)的方法往Session增加內(nèi)容
      ④當(dāng)客戶端再次發(fā)送請(qǐng)求的時(shí)候,會(huì)將這個(gè)Session id帶上,服務(wù)器接受到請(qǐng)求之后就會(huì)依據(jù)Session id找到對(duì)應(yīng)的Seesion

    • 區(qū)別

      • 存放位置不同
      • 存取方式不同(cookie是字符串 session任何數(shù)據(jù))
      • 安全性
      • 有效期的不同
      • 對(duì)服務(wù)器造成的壓力不同
最后編輯于
?著作權(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)容

  • http協(xié)議有http0.9,http1.0,http1.1和http2三個(gè)版本,但是現(xiàn)在瀏覽器使用的是htt...
    一現(xiàn)_閱讀 1,999評(píng)論 0 3
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,743評(píng)論 6 152
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,345評(píng)論 3 82
  • 1、不快樂的種類 認(rèn)識(shí)的中人,有錢的,沒錢的,有權(quán)的,沒權(quán)的,人生贏家型,人生屌絲型等等,能覺得自己真正快樂的人不...
    胡三泊閱讀 3,325評(píng)論 0 2
  • 說來自己也很莫名其妙,好好的在做作業(yè),聽的歌曲在休息之間,思緒就走進(jìn)了兒時(shí)的生活回憶,那么的懷念,那么的...
    舞寶寶閱讀 541評(píng)論 2 0

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