常用HTTP狀態(tài)碼以及客戶端緩存

常用狀態(tài)碼

200 請(qǐng)求返回成功
301 永久重定向
302 臨時(shí)重定向
304 資源未更改(對(duì)應(yīng)筆記中客戶端緩存)
400 客戶端代碼錯(cuò)誤
401 未認(rèn)證
403 forbidden,服務(wù)端理解客戶端的請(qǐng)求索守,但拒不執(zhí)行
404 頁面刘离,資源找不到
405 請(qǐng)求方法不被允許
500 服務(wù)端不可預(yù)知的錯(cuò)誤
502 bad gateway 網(wǎng)關(guān)請(qǐng)求服務(wù)器拿到無效返回
503 系統(tǒng)當(dāng)前不可用
504 服務(wù)器超時(shí)

由304引出的客戶端緩存

HTTP1.0時(shí)使用expires來保存失效時(shí)間室叉,當(dāng)響應(yīng)頭有這個(gè)字段時(shí),瀏覽器強(qiáng)制緩存硫惕,即茧痕,下次再訪問這個(gè)文件,直接從緩存中讀取恼除,不向服務(wù)器發(fā)送請(qǐng)求
缺點(diǎn):這個(gè)時(shí)間是服務(wù)端返回的服務(wù)端時(shí)間踪旷,客戶端時(shí)間與服務(wù)端時(shí)間可能不一致

HTTP1.1時(shí)使用cache-control作為是否緩存以及緩存策略的字段
cache-control:
1. no-store 不進(jìn)行任何形式緩存
2. no-cache 不直接使用緩存,其實(shí)在瀏覽器是存儲(chǔ)了的豁辉,進(jìn)程內(nèi)存/硬盤令野,需要請(qǐng)求服務(wù)端進(jìn)行校驗(yàn)資源是否修改,未修改則返回304徽级,空body气破,使用緩存,不然餐抢,重新返回響應(yīng)體堵幽,狀態(tài)碼200 協(xié)商緩存
3. max-age 這個(gè)時(shí)間之內(nèi)都可以直接從緩存中獲取,不用重新請(qǐng)求弹澎,強(qiáng)緩存
4. private 只能客戶端緩存,不允許代理服務(wù)器進(jìn)行緩存
5. public 都可以進(jìn)行努咐,客戶端以及代理服務(wù)器苦蒿,如cdn
返回的max-age = 0與no-cache等價(jià),都是每次都去服務(wù)器校驗(yàn)更新狀態(tài)

瀏覽器請(qǐng)求過程
瀏覽器第一次訪問請(qǐng)求渗稍,服務(wù)器返回Last-Modified(服務(wù)器最后修改文件的時(shí)間)佩迟,Etags(當(dāng)前文件的版本)团滥,如果是no-cache或max-age則將響應(yīng)體和緩存標(biāo)識(shí)存入瀏覽器緩存中
第二次請(qǐng)求,max-age直接從緩存中獲取數(shù)據(jù)报强,no-cache從緩存中獲取標(biāo)識(shí)去請(qǐng)求服務(wù)端灸姊,字段為if-modified-since和if-None-Match,先校驗(yàn)if-None-Match與服務(wù)器etags秉溉,再校驗(yàn)if-modified-since力惯,如果沒有更改,則返回標(biāo)識(shí)和空的響應(yīng)體召嘶,狀態(tài)碼304父晶,資源未改變,不然返回200及新的緩存標(biāo)識(shí)和響應(yīng)數(shù)據(jù)
使用if-modified-since缺點(diǎn)
1. 如果資源修改時(shí)間更新了弄跌,但是內(nèi)容沒有修改甲喝,那么達(dá)不到緩存的目的
2. 如果資源在毫秒之間更改,但是緩存的last-modified時(shí)間保存的是秒铛只,這時(shí)候是不應(yīng)該使用緩存的

強(qiáng)緩存:減少請(qǐng)求埠胖,就減少了帶寬時(shí)間,強(qiáng)緩存未失效的話返回狀態(tài)碼永遠(yuǎn)是200
協(xié)商緩存:請(qǐng)求數(shù)不變淳玩,但是304狀態(tài)只會(huì)返回空的響應(yīng)體直撤,節(jié)省傳輸時(shí)間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凯肋,隨后出現(xiàn)的幾起案子谊惭,更是在濱河造成了極大的恐慌,老刑警劉巖侮东,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圈盔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡悄雅,警方通過查閱死者的電腦和手機(jī)驱敲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宽闲,“玉大人众眨,你說我怎么就攤上這事∪菸埽” “怎么了娩梨?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)览徒。 經(jīng)常有香客問我狈定,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任纽什,我火速辦了婚禮措嵌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芦缰。我一直安慰自己企巢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布让蕾。 她就那樣靜靜地躺著浪规,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涕俗。 梳的紋絲不亂的頭發(fā)上罗丰,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音再姑,去河邊找鬼萌抵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛元镀,可吹牛的內(nèi)容都是我干的绍填。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼栖疑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼讨永!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起遇革,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤卿闹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后萝快,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锻霎,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年揪漩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旋恼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奄容,死狀恐怖冰更,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昂勒,我是刑警寧澤蜀细,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站戈盈,受9級(jí)特大地震影響奠衔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一涣觉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧血柳,春花似錦官册、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至根吁,卻和暖如春员淫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背击敌。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工介返, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沃斤。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓圣蝎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親衡瓶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子徘公,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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

  • 網(wǎng)絡(luò)特有的延遲以及數(shù)據(jù)傳輸?shù)某杀荆萍s互聯(lián)網(wǎng)快速獲取Web資源哮针。為此关面,HTTP協(xié)議引入緩存以空間換時(shí)間,使瀏覽器緩...
    大頭8086閱讀 3,056評(píng)論 2 12
  • http協(xié)議有http0.9十厢,http1.0等太,http1.1和http2三個(gè)版本,但是現(xiàn)在瀏覽器使用的是htt...
    一現(xiàn)_閱讀 1,855評(píng)論 0 3
  • 瀏覽器對(duì)于請(qǐng)求資源, 流程如圖所示: 可以看到瀏覽器的緩存機(jī)制分為兩個(gè)部分: 1寿烟、當(dāng)前緩存是否過期澈驼? 2、服務(wù)器中...
    zhoulujun閱讀 1,183評(píng)論 0 3
  • API定義規(guī)范 本規(guī)范設(shè)計(jì)基于如下使用場(chǎng)景: 請(qǐng)求頻率不是非常高:如果產(chǎn)品的使用周期內(nèi)請(qǐng)求頻率非常高筛武,建議使用雙通...
    有涯逐無涯閱讀 2,519評(píng)論 0 6
  • 本文內(nèi)容大多參考《圖解HTTP》一書 一. 認(rèn)識(shí)代理服務(wù)器 所以講緩存為什么要先扯代理服務(wù)器缝其?別急,讓我們看一下一...
    流光號(hào)船長(zhǎng)閱讀 1,900評(píng)論 0 10