http基礎(chǔ)

  • OSI 七層模型指什么
    OSI:Open System Interconnection moble矛洞。是一個由國際標準化組織提出來的概念模型借笙,共一個使各種不同的計算機在網(wǎng)絡(luò)和世界范圍內(nèi)實現(xiàn)互聯(lián)的標準框架嗡善,它將計算機網(wǎng)絡(luò)體系結(jié)構(gòu)分為七層,每層都提供良好的接口危虱。如圖(維基百科):


    osi七層網(wǎng)絡(luò)協(xié)議
  1. 物理層:負責(zé)最后將信息編碼或其他信號在網(wǎng)上傳輸脚曾,如網(wǎng)線、網(wǎng)卡等....
  2. 數(shù)據(jù)鏈路層:它定義了在單個鏈路上如何傳輸數(shù)據(jù)
  3. 網(wǎng)絡(luò)層:網(wǎng)絡(luò)層負責(zé)在源和終點之間建立連接
  4. 傳輸層:向用戶提供可靠的端到端的網(wǎng)絡(luò)數(shù)據(jù)流服務(wù)
  5. 會話層:組織和協(xié)調(diào)兩個會話進程之間的通信,并對數(shù)據(jù)交換進行管理
  6. 表示層:處理用戶信息的表示問題烧栋,定義數(shù)據(jù)格式和加密解密
  7. 應(yīng)用層:是計算機及各種應(yīng)用程序網(wǎng)絡(luò)之間的接口写妥,直接向用戶提供服務(wù),完成用戶希望在網(wǎng)絡(luò)上完成的工作审姓。

  • HTTP 的工作原理是什么珍特?
  1. 客戶端跟服務(wù)器建立一個TCP連接
  2. 通過建立的TCP連接,客戶端向服務(wù)器發(fā)送請求報文
  3. 服務(wù)器接收到請求后給予響應(yīng):包括服接解析請求魔吐,定位請求資源扎筒,將資源副本寫入TCP連接,由客戶端讀取
  4. 瀏覽器解析結(jié)果:將響應(yīng)的信息通過瀏覽器顯示在用戶的屏幕上然后客戶端和服務(wù)器斷開連接

  • URI 的格式是什么酬姆?常見的協(xié)議有哪些

URI是統(tǒng)一資源標識符嗜桌,而URL是它的一個子集,通用格式為:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>

  • scheme:對于web頁面來說最常用的協(xié)議就是http和https
  • user和password現(xiàn)在不常見辞色,不會在URL明文書寫用戶名和密碼骨宠,都是通過登錄的方式
  • host:主機可以是IP地址或者域名
  • port端口號用來區(qū)分主機進程,方便找到web服務(wù)器相满,http默認是80
  • path是資源的路徑层亿,也是存放位置,不一定和物理路徑完全對應(yīng)立美,符合web服務(wù)器路由約定即可
  • params在一些協(xié)議中需要參數(shù)來訪問資源匿又,例如ftp是二進制還是文本傳輸, 參數(shù)是名值對建蹄,用;隔開
  • query是get請求最常用的傳遞參數(shù)方式了 ?a=1&b=2&c=3
  • hash也成為片段碌更,設(shè)計為標識文檔的一部分(很多mvvw框架用作路由)

  • HTTP 協(xié)議有幾種和服務(wù)器交互的方法

    • get:最常用的方法,用來獲取服務(wù)器資源
    • post:一般用來表單提交洞慎,更新服務(wù)器資源
    • put:和get相反痛单,向服務(wù)器寫入資源,由于安全問題服務(wù)器一般不支持
    • delete:刪除請求的URL劲腿,由于安全問題服務(wù)器一般不支持
    • head:和get請求類似桦他,不過不是請求資源。而是請求信息(資源類型谆棱、大小、是否存在...)
    • trace:會在目標服務(wù)器發(fā)送一個閉環(huán)診斷圆仔,查看發(fā)送的請求都經(jīng)過哪些節(jié)點垃瞧,有沒有被修改
    • options:獲取服務(wù)器支持的方法

  • 狀態(tài)碼200,301坪郭, 304个从,403,404,500,503分別代表什么意思

    • 200:表示一切正常,請求成功
    • 301:表示用戶請求文檔已經(jīng)被永久性改變位置
    • 304:表示請求的網(wǎng)頁未發(fā)生改變嗦锐,可繼續(xù)使用緩存
    • 403:一般表示有資源卻無權(quán)限訪問
    • 404:無法找到指定位置請求的資源
    • 500:表示后臺服務(wù)器出現(xiàn)錯誤嫌松,無法處理請求
    • 503:表示服務(wù)器超載,無法處理請求

  • 報文有哪幾部分組成奕污?
    HTTP報文是簡單的格式化數(shù)據(jù)萎羔,每個報文都包含一條來自客戶端的信息或者一條來自服務(wù)器的信息,由三個部分組成:
  1. 對報文進行描述的起始行 ———— start line
  2. 包含屬性的首部塊 ———— header
  3. 可選的包含數(shù)據(jù)的主體部分 ———— body

  • 請求頭的格式和作用是什么碳默?給個范例截圖說明


    請求頭格式
    • Accept:客戶端可接受的類型
    • Accept-Encoding:客戶端接受的壓縮編碼
    • Accept-Language:客戶端接受的語言
    • Cache-Control:客戶端接受的緩存控制
    • Connection:告知服務(wù)器連接
    • Host:請求的主機名贾陷,允許多個域名同處一個IP地址,即虛擬主機
    • User-Agent:產(chǎn)生請求的瀏覽器類型

  • 首部的格式和作用是什么嘱根?給個范例截圖說明


    首部的格式
    • Request URL:請求的域名
    • Request Method:請求的方法
    • Status Code:狀態(tài)碼
    • Remote Address:接受的遠程服務(wù)器地址和端口號

  • 主體的作用是什么髓废?給個范例


    主體

主體就是客戶端和服務(wù)端之間傳輸?shù)闹饕獌?nèi)容,一般是圖片该抒、視頻慌洪、HTML文檔等。


  • 簡述瀏覽器緩存是如何控制的

    • Cache-control:在HTTP頭部設(shè)置Cache-control來控制緩存的時間凑保,等時間到了緩存失效冈爹,單位為秒,如:Cache-control: max-age=5 表示當訪問此網(wǎng)頁后的5秒內(nèi)不會去再次訪問服務(wù)器

    • Expires:設(shè)置緩存的失效日期愉适,在過期時間以內(nèi)犯助,若再次發(fā)起請求,通常瀏覽器都不會與服務(wù)器進行任何通信维咸,而是直接使用本地副本剂买。當 Expires 和 Cache-Control 同時出現(xiàn)時,通常后者會覆蓋前者的設(shè)定

    • Last-Modified:在瀏覽器第一次請求某一個URL時癌蓖,服務(wù)器端的返回狀態(tài)會是200瞬哼,內(nèi)容是你請求的資源,同時有一個Last-Modified的屬性標記(HttpReponse Header)此文件在服務(wù)期端最后被修改的時間,客戶端第二次請求此URL時租副,根據(jù)HTTP協(xié)議的規(guī)定坐慰,瀏覽器會向服務(wù)器傳送If-Modified-Since報頭(HttpRequest Header),詢問該時間之后文件是否有被修改過,如果服務(wù)器端的資源沒有變化用僧,則自動返回HTTP304(NotChanged.)狀態(tài)碼结胀,內(nèi)容為空,這樣就節(jié)省了傳輸數(shù)據(jù)量责循。當服務(wù)器端代碼發(fā)生改變或者重啟服務(wù)器時糟港,則重新發(fā)出資源,返回和第一次請求時類似院仿。從而保證不向客戶端重復(fù)發(fā)出資源秸抚,也保證當服務(wù)器有變化時速和,客戶端能夠得到最新的資源。

    • ETag:使用 ETag 驗證緩存的響應(yīng)剥汤,Etag是服務(wù)器自動生成或者由開發(fā)者生成的對應(yīng)資源在服務(wù)器端的唯一標識符颠放,能夠更加準確的控制緩存。

    優(yōu)先級:Cache-Control/Expires的優(yōu)先級要高于Last-Modified/ETag吭敢。即當本地副本根據(jù)Cache-Control/Expires發(fā)現(xiàn)還在有效期內(nèi)時碰凶,則不會再次發(fā)送請求去服務(wù)器詢問修改時間(Last-Modified)或?qū)嶓w標識(Etag)了。

    更多可參考博客1 | 參考博客2


  • 本博客版權(quán)歸羞澀的澀和饑人谷所有省有,轉(zhuǎn)載請注明出處
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痒留,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蠢沿,更是在濱河造成了極大的恐慌伸头,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舷蟀,死亡現(xiàn)場離奇詭異恤磷,居然都是意外死亡,警方通過查閱死者的電腦和手機野宜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門扫步,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匈子,你說我怎么就攤上這事河胎。” “怎么了虎敦?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵游岳,是天一觀的道長。 經(jīng)常有香客問我其徙,道長胚迫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任唾那,我火速辦了婚禮访锻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘闹获。我一直安慰自己期犬,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布避诽。 她就那樣靜靜地躺著哭懈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茎用。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音轨功,去河邊找鬼旭斥。 笑死,一個胖子當著我的面吹牛古涧,可吹牛的內(nèi)容都是我干的垂券。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼羡滑,長吁一口氣:“原來是場噩夢啊……” “哼菇爪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起柒昏,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤凳宙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后职祷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氏涩,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年有梆,在試婚紗的時候發(fā)現(xiàn)自己被綠了是尖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡泥耀,死狀恐怖饺汹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情痰催,我是刑警寧澤兜辞,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站陨囊,受9級特大地震影響弦疮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜘醋,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一胁塞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧压语,春花似錦啸罢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至厕怜,卻和暖如春衩匣,著一層夾襖步出監(jiān)牢的瞬間蕾总,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工琅捏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留生百,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓柄延,卻偏偏與公主長得像蚀浆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子搜吧,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容