HTTP

1.OSI 七層模型指什么

OSI(Open System Interconnection判帮,開放系統(tǒng)互連)七層網(wǎng)絡(luò)模型稱為開放式系統(tǒng)互聯(lián)參考模型 ,是一個(gè)邏輯上的定義氓侧,一個(gè)規(guī)范脊另,它把網(wǎng)絡(luò)從邏輯上分為了7層导狡。
由下往上可分為:


OSI 七層模型

2.HTTP 的工作原理是什么约巷?

(1)客戶端連接到Web服務(wù)器
一個(gè)HTTP客戶端,通常是瀏覽器旱捧,與Web服務(wù)器的HTTP端口(默認(rèn)為80)建立一個(gè)TCP套接字連接独郎。
(2)發(fā)送HTTP請(qǐng)求
通過(guò)TCP套接字踩麦,客戶端向Web服務(wù)器發(fā)送一個(gè)文本的請(qǐng)求報(bào)文,一個(gè)請(qǐng)求報(bào)文由請(qǐng)求行氓癌、請(qǐng)求頭部谓谦、空行和請(qǐng)求數(shù)據(jù)4部分組成。
(3)服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)
Web服務(wù)器解析請(qǐng)求贪婉,定位請(qǐng)求資源反粥。服務(wù)器將資源復(fù)本寫到TCP套接字,由客戶端讀取疲迂。一個(gè)響應(yīng)由狀態(tài)行才顿、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成尤蒿。
(4)釋放連接TCP連接
Web服務(wù)器主動(dòng)關(guān)閉TCP套接字郑气,釋放TCP連接;客戶端被動(dòng)關(guān)閉TCP套接字腰池,釋放TCP連接尾组。
(5)客戶端瀏覽器解析HTML內(nèi)容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請(qǐng)求是否成功的狀態(tài)代碼示弓。然后解析每一個(gè)響應(yīng)頭讳侨,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集∽嗍簦客戶端瀏覽器讀取響應(yīng)數(shù)據(jù)HTML爷耀,根據(jù)HTML的語(yǔ)法對(duì)其進(jìn)行格式化,并在瀏覽器窗口中顯示拍皮。

3.URI 的格式是什么歹叮?常見的協(xié)議有哪些

格式:<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>

  • <scheme>協(xié)議方案名,常見的協(xié)議有:
    (1)http:應(yīng)用最廣泛的網(wǎng)絡(luò)傳輸協(xié)議,主要用于傳輸網(wǎng)頁(yè)資源
    (2)https:超文本傳輸安全協(xié)議,是一種網(wǎng)絡(luò)安全傳輸協(xié)議铆帽,使用超文本傳輸協(xié)議進(jìn)行通訊咆耿,但利用 SSL/TLS 協(xié)議來(lái)對(duì)封包進(jìn)行加密
    (3)ftp:文件傳輸協(xié)議,主要用于傳輸文件
    (4)smtp:簡(jiǎn)單郵件傳輸協(xié)議,主要用于以推送方式傳輸郵件
    (5)imap:交互郵件訪問(wèn)協(xié)議,主要用于訪問(wèn)遠(yuǎn)程服務(wù)器上的郵件
    (6)ssh:計(jì)算機(jī)上的 Shell 提供安全的傳輸和使用環(huán)境的安全協(xié)議
  • <user>:<password>登錄信息:認(rèn)證信息
  • <host>主機(jī)名:IP地址或域名,用于確定要連接的對(duì)象的地址
  • <port>端口號(hào):用來(lái)區(qū)分主機(jī)上的進(jìn)程爹橱,方便找到web服務(wù)器萨螺,一般不需要寫(http默認(rèn)80,https默認(rèn)443愧驱,ftp默認(rèn)21)
  • <path>路徑:帶層次的資源路徑慰技,符合web服務(wù)器路由約定即可
  • <params>參數(shù):在一些協(xié)議中需要參數(shù)來(lái)訪問(wèn)資源,例如ftp是二進(jìn)制還是文本傳輸组砚,參數(shù)是名值對(duì)吻商,用;隔開
  • <query>查詢字符串:主要用于 get 請(qǐng)求傳遞參數(shù),name=value的形式
  • <hash>片段標(biāo)識(shí)符:用于標(biāo)識(shí)文檔的一部分糟红,又稱錨點(diǎn)艾帐,對(duì)server沒用乌叶,協(xié)議不傳輸

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

  • GET:最常用,通常用于請(qǐng)求服務(wù)器發(fā)送某個(gè)資源(平時(shí)在瀏覽器輸入網(wǎng)頁(yè)地址就是給服務(wù)器發(fā)送一個(gè)GET請(qǐng)求)
  • POST:用于向服務(wù)器發(fā)送數(shù)據(jù)柒爸,通常用來(lái)支持HTML表單准浴,將表單中的數(shù)據(jù)發(fā)送到服務(wù)器
  • HEAD:和GET類似,但是在服務(wù)器的響應(yīng)中沒有資源的內(nèi)容捎稚,只有資源的一些基本信息乐横,主要用于: 1.在不獲取資源的情況下獲取資源信息(類型、大小等) 2.通過(guò)狀態(tài)碼產(chǎn)看資源是否存在 3.通過(guò)查看首部今野,測(cè)試資源是否被修改了
  • PUT:和GET從服務(wù)器獲取資源相反晰奖,PUT用于向服務(wù)器寫入資源;PUT的語(yǔ)義就是讓服務(wù)器用請(qǐng)求的主體部分創(chuàng)建一個(gè)請(qǐng)求URL命名的文檔腥泥,如果存在就替換匾南;出于安全原因不是所有的服務(wù)器都能實(shí)現(xiàn)
  • TRACE:客戶端發(fā)送一個(gè)請(qǐng)求的時(shí)候,這個(gè)請(qǐng)求可能會(huì)穿過(guò)防火墻蛔外、代理蛆楞、網(wǎng)關(guān)和一些其它應(yīng)用程序,每個(gè)中間節(jié)點(diǎn)都可能修改HTTP請(qǐng)求夹厌,TRACE方法允許客戶端在最終請(qǐng)求發(fā)往服務(wù)器的時(shí)候豹爹,看看它變成了什么樣子;TRACE請(qǐng)求會(huì)在目的服務(wù)器端發(fā)送一個(gè)“閉環(huán)”診斷矛纹,行程最后一站服務(wù)器會(huì)彈回一條TRACE響應(yīng)臂聋,并在響應(yīng)主題中攜帶它收到的原始請(qǐng)求報(bào)文
  • DELETE:DELETE方法用于要求服務(wù)器刪除請(qǐng)求的URL,和PUT一樣或南,服務(wù)器可能會(huì)不支持(刪除資源)
  • OPTIONS:OPTIONS方法用于請(qǐng)求 web服務(wù)器告知其支持的各種功能(比如查看-服務(wù)器支持以上哪幾種方法)

5.狀態(tài)碼200孩等,301, 304采够,403,404,500肄方,503分別代表什么意思

  • 200:OK;該請(qǐng)求被成功地完成蹬癌,所請(qǐng)求的資源發(fā)送回客戶端权她。
  • 301:Moved Permanently;永久性定向逝薪,客戶請(qǐng)求的文檔在其他地方隅要,新的URL在Location頭中給出,瀏覽器應(yīng)該自動(dòng)地訪問(wèn)新的URL
  • 304:Not Modified董济;上次的文檔已經(jīng)被緩存了步清, 還可以繼續(xù)使用。
  • 403:Forbidden感局;服務(wù)器收到請(qǐng)求尼啡,但是拒絕提供服務(wù)
  • 404:Not Found暂衡;請(qǐng)求資源不存在(一般是輸錯(cuò)了URL)
  • 500:Internal Server Error询微;服務(wù)器發(fā)生了不可預(yù)期的錯(cuò)誤
  • 503:Server Unavailable崖瞭;服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求,一段時(shí)間后可能恢復(fù)正常

6.報(bào)文有哪幾部分組成撑毛?

  • 請(qǐng)求報(bào)文:
    (1)起始行:請(qǐng)求方法书聚、URI、協(xié)議版本
    (2)首部:請(qǐng)求首部藻雌、通用首部 雌续、實(shí)體首部及其他
    (3)空行
    (4)報(bào)文主體
  • 響應(yīng)報(bào)文:
    (1)起始行:協(xié)議版本、狀態(tài)碼胯杭、狀態(tài)碼描述
    (2)首部:響應(yīng)首部驯杜、通用首部、實(shí)體首部及其他
    (3)空行
    (4)報(bào)文主體

7.請(qǐng)求頭的格式和作用是什么做个?給個(gè)范例截圖說(shuō)明

請(qǐng)求頭

Accept:瀏覽器能接收的資源類型
Accept-Encoding:告訴服務(wù)器能夠發(fā)送哪些編碼
Accept-Language:告訴服務(wù)器能夠發(fā)送哪些語(yǔ)言
Cache-Control:緩存控制
Connection:客戶端和服務(wù)器是否保持連接
Cookie:客戶端字符串
Host:接受請(qǐng)求的服務(wù)器的主機(jī)號(hào)和端口號(hào)
User-Agent:發(fā)起請(qǐng)求的客戶端應(yīng)用程序

8.首部的格式和作用是什么鸽心?給個(gè)范例截圖說(shuō)明

首部

Request URL:請(qǐng)求的URL地址
Request Method:請(qǐng)求的方法
Status Code:狀態(tài)碼
Remote Address:遠(yuǎn)程地址即服務(wù)器地址

9.主體的作用是什么?給個(gè)范例

主體

主體就是客戶端和服務(wù)器所傳輸?shù)闹饕獌?nèi)容

10.簡(jiǎn)述瀏覽器緩存是如何控制的

瀏覽器是否使用緩存居暖、緩存多久顽频,是由服務(wù)器控制的。準(zhǔn)確來(lái)說(shuō)太闺,當(dāng)瀏覽器請(qǐng)求一個(gè)網(wǎng)頁(yè)(或者其他資源)時(shí)糯景,服務(wù)器發(fā)回的響應(yīng)的「響應(yīng)頭」部分的某些字段指明了有關(guān)緩存的關(guān)鍵信息。通過(guò)Expires,Cache-Contrll省骂,Last-Modified/If-Modified-Since蟀淮,Etag/If-None-Match控制。

  • Expires:是Web服務(wù)器響應(yīng)消息頭字段钞澳,在響應(yīng)http請(qǐng)求時(shí)告訴瀏覽器在過(guò)期時(shí)間前瀏覽器可以直接從瀏覽器緩存取數(shù)據(jù)灭贷,而無(wú)需再次請(qǐng)求。
  • Cache-Control:與Expires的作用一致略贮,都是指明當(dāng)前資源的有效期甚疟,控制瀏覽器是否直接從瀏覽器緩存取數(shù)據(jù)還是重新發(fā)請(qǐng)求到服務(wù)器取數(shù)據(jù),不過(guò)Cache-Control有多個(gè)參數(shù)逃延,優(yōu)先級(jí)高于Expires览妖。
  • Last-Modified/If-Modified-Since:Last-Modified/If-Modified-Since要配合Cache-Control使用。最后修改時(shí)間/除非在某個(gè)制定日期之后修改過(guò)揽祥,否則限制這個(gè)請(qǐng)求
  • Etag/If-None-Match:Etag/If-None-Match也要配合Cache-Control使用讽膏。
    Etag:web服務(wù)器響應(yīng)請(qǐng)求時(shí),告訴瀏覽器當(dāng)前資源在服務(wù)器的唯一標(biāo)識(shí)拄丰。
    If-None-Match:當(dāng)資源過(guò)期時(shí)(使用Cache-Control標(biāo)識(shí)的max-age)府树,發(fā)現(xiàn)資源具有Etage聲明俐末,則再次向web服務(wù)器請(qǐng)求時(shí)帶上頭If-None-Match(Etag的值)
    參考

11.下圖各個(gè)參數(shù)是什么意思

參數(shù)的意思
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市奄侠,隨后出現(xiàn)的幾起案子卓箫,更是在濱河造成了極大的恐慌,老刑警劉巖垄潮,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烹卒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡弯洗,警方通過(guò)查閱死者的電腦和手機(jī)旅急,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)牡整,“玉大人藐吮,你說(shuō)我怎么就攤上這事√颖矗” “怎么了谣辞?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)秋泳。 經(jīng)常有香客問(wèn)我潦闲,道長(zhǎng),這世上最難降的妖魔是什么迫皱? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任歉闰,我火速辦了婚禮,結(jié)果婚禮上卓起,老公的妹妹穿的比我還像新娘和敬。我一直安慰自己,他們只是感情好戏阅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布昼弟。 她就那樣靜靜地躺著,像睡著了一般奕筐。 火紅的嫁衣襯著肌膚如雪舱痘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天离赫,我揣著相機(jī)與錄音芭逝,去河邊找鬼。 笑死渊胸,一個(gè)胖子當(dāng)著我的面吹牛旬盯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼胖翰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼接剩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起萨咳,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤懊缺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后某弦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桐汤,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡而克,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年靶壮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片员萍。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腾降,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碎绎,到底是詐尸還是另有隱情螃壤,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布筋帖,位于F島的核電站奸晴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏日麸。R本人自食惡果不足惜寄啼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望代箭。 院中可真熱鬧墩划,春花似錦、人聲如沸嗡综。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)极景。三九已至察净,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盼樟,已是汗流浹背氢卡。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恤批,地道東北人异吻。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诀浪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棋返,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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