HTTP協(xié)議的一些關(guān)鍵點(diǎn)手記(一)基礎(chǔ)知識(shí)

協(xié)議:計(jì)算機(jī)通訊網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須的共同遵守的規(guī)定或者規(guī)則

HTTP協(xié)議:超文本傳輸協(xié)議HTTP是一種通信協(xié)議逝淹,它允許將超文本標(biāo)記語言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器
URI:Uniform Resource Identifier,統(tǒng)一標(biāo)識(shí)符耕姊,用來唯一的標(biāo)識(shí)一個(gè)資源

比如網(wǎng)上的圖啊視頻啊什么的資源,這些資源都是用URI來標(biāo)記定位的栅葡。
file://a:123/b/c/d.txt這個(gè)使用http協(xié)議表示這個(gè)資源在a主機(jī)的123端口的b目錄下的c目錄的d.txt文件

URI的三個(gè)組成部分
  • 訪問資源的命名機(jī)制
  • 存放資源的主機(jī)名
  • 資源資深的名稱茉兰,由路徑表示,注重強(qiáng)調(diào)資源
URL:Uniform Resource Locator欣簇,統(tǒng)一資源定位器规脸,它是一種具體的URI,即URL可以用來標(biāo)識(shí)一個(gè)資源熊咽,而且還知名了如何locate這個(gè)資源

比如 http://www.reibang.com/u/c1f9e6ee52f7 這個(gè)網(wǎng)址就是一個(gè)URL

URL的三個(gè)組成部分

①協(xié)議(http,https)
②存有該資源的主機(jī)IP地址
③主機(jī)資源的具體地址莫鸭,注重強(qiáng)調(diào)路徑

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

①簡單快速。只需要寫請(qǐng)求路徑和方法(post,get)就能獲取數(shù)據(jù)
②無連接横殴。限制每次鏈接只處理一個(gè)請(qǐng)求被因,服務(wù)器處理完客戶端的請(qǐng)求后受到客戶端的應(yīng)答,然后就斷開連接
③無狀態(tài)衫仑。協(xié)議對(duì)以前處理的請(qǐng)求是沒有記憶的

request / response 原理

當(dāng)打開瀏覽器梨与,在地址欄中輸入U(xiǎn)RL,然后我們就看到了網(wǎng)頁文狱。這個(gè)原理是怎樣的呢粥鞋?
當(dāng)我們的瀏覽器輸入完URL后,瀏覽器就給服務(wù)器發(fā)送了一個(gè)request(可能經(jīng)過代理服務(wù)器)請(qǐng)求如贷,服務(wù)器收到瀏覽器的request請(qǐng)求后就會(huì)進(jìn)行相應(yīng)的處理陷虎,生成相應(yīng)的response返回給瀏覽器,瀏覽器收到response中的HTML文檔杠袱,這樣我們就看見了網(wǎng)頁。

PS:代理服務(wù)器可以提高訪問速度窝稿,代理服務(wù)器具有緩存功能楣富,當(dāng)再次訪問前一個(gè)地址時(shí)候,就可以直接從代理服務(wù)器中獲取伴榔,而不用再去請(qǐng)求Web服務(wù)器纹蝴。

request和response.png
request請(qǐng)求頭(1-10)
  • 1.告訴我們?cè)L問方法為get,訪問的是一個(gè).js的文件庄萎,協(xié)議是HTTP1.1
  • 2.Host告訴我們請(qǐng)求的主機(jī)和端口號(hào),主機(jī)是前面網(wǎng)址塘安,端口號(hào)是8080糠涛。通常這個(gè)信息是從URL中提取出來的。端口號(hào)有時(shí)可以省略兼犯,如省略就用默認(rèn)值80
  • 3.User-Agent 是告訴http服務(wù)器忍捡,客戶端所采用操作系統(tǒng)瀏覽器名稱及版本
  • 4.Intervention是服務(wù)器的信息,但該字段并不是通用的請(qǐng)求頭
  • 5.Accept表示瀏覽器端可接受的媒體類型圖例/通配符表示可以接受任意類型切黔,可以處理所有類型數(shù)據(jù)砸脊,一般情況都會(huì)返回這個(gè)
  • 6 . referer是一個(gè)引用,瀏覽器告訴服務(wù)器纬霞,這個(gè)請(qǐng)求是從哪個(gè)頁面鏈接過來的
  • 7.Accept-Encoding指瀏覽器聲明自己的一些編碼方法凌埂,通常是是否可以執(zhí)行壓縮等等。诗芜。
  • 8.Accept-Language瀏覽器聲明自己可以解釋的語言和字符集
  • 9.if-None-Match與response中的15ETag聯(lián)合使用瞳抓,功能是告訴response可以添加一些ETag進(jìn)去,當(dāng)再次請(qǐng)求的時(shí)候伏恐,比對(duì)ETag如果沒有發(fā)生變化挨下,response會(huì)返回狀態(tài)碼304,這時(shí)瀏覽器可以直接使用本地的緩存脐湾,大大提升了性能和用戶體驗(yàn)
  • 10.if-Modified-Since把瀏覽器端緩存命令的最后修改時(shí)間發(fā)送到服務(wù)端去臭笆,服務(wù)器會(huì)把這個(gè)時(shí)間與服務(wù)器的最后修改時(shí)間對(duì)比,如果一致秤掌,就是304愁铺,那么還是告訴瀏覽器可以直接使用本地緩存。如果不一致返回200闻鉴,表示請(qǐng)求成功和新的文件內(nèi)容茵乱,客戶端收到后會(huì)丟棄掉原來的緩存文件,同時(shí)會(huì)把新的內(nèi)容緩存到本地并顯示在瀏覽器
response頭(11-18)
  • 11.返回協(xié)議和狀態(tài)碼
  • 12 . Server返回HTTP服務(wù)器的軟件信息
  • 13.Date生成reponse的具體時(shí)間
    -14.Last-Modified資源最后的修改時(shí)間孟岛,與request的10if-Modified-Since對(duì)應(yīng)
    -15.ETag與request的9if-None-Match對(duì)應(yīng)瓶竭,標(biāo)識(shí)服務(wù)器信息的標(biāo)志位
    -16.Expires表示瀏覽器在指定時(shí)間內(nèi)使用本地緩存
    -17.Cache-Control表示指定response和request所遵循的緩存機(jī)制
    -18.Proxy-Connection代理鏈接,Keep-alive表示當(dāng)一個(gè)網(wǎng)頁打開后,客戶端和服務(wù)端直接傳輸數(shù)據(jù)的TCP連接不會(huì)關(guān)閉,如果客戶端再次訪問服務(wù)端的網(wǎng)頁連接,那么會(huì)繼續(xù)使用這條已經(jīng)建立好的TCP連接渠羞,而不會(huì)重新建立一個(gè)連接斤贰,這樣會(huì)對(duì)網(wǎng)絡(luò)連接資源有個(gè)優(yōu)化提升
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市次询,隨后出現(xiàn)的幾起案子荧恍,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件送巡,死亡現(xiàn)場(chǎng)離奇詭異摹菠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骗爆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門次氨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人摘投,你說我怎么就攤上這事煮寡。” “怎么了谷朝?”我有些...
    開封第一講書人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵洲押,是天一觀的道長。 經(jīng)常有香客問我圆凰,道長杈帐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任专钉,我火速辦了婚禮挑童,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘跃须。我一直安慰自己站叼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開白布菇民。 她就那樣靜靜地躺著尽楔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪第练。 梳的紋絲不亂的頭發(fā)上阔馋,一...
    開封第一講書人閱讀 52,736評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音娇掏,去河邊找鬼呕寝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛婴梧,可吹牛的內(nèi)容都是我干的下梢。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼塞蹭,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼孽江!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浮还,我...
    開封第一講書人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤竟坛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后钧舌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體担汤,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年洼冻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崭歧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撞牢,死狀恐怖率碾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情屋彪,我是刑警寧澤所宰,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站畜挥,受9級(jí)特大地震影響仔粥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蟹但,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一躯泰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧华糖,春花似錦麦向、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至兼搏,卻和暖如春卵慰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背向族。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來泰國打工呵燕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人件相。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓再扭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親夜矗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泛范,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)紊撕,斷路器罢荡,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • http協(xié)議有http0.9,http1.0,http1.1和http2三個(gè)版本区赵,但是現(xiàn)在瀏覽器使用的是htt...
    一現(xiàn)_閱讀 1,867評(píng)論 0 3
  • 一惭缰、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,373評(píng)論 6 152
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺,所以準(zhǔn)備花時(shí)間了解一下笼才,本文主要是講http協(xié)議的一些基礎(chǔ)漱受,和一些...
    justCode_閱讀 2,094評(píng)論 0 23
  • 本文整理自MIN飛翔博客 [1] 1. 概念 協(xié)議是指計(jì)算機(jī)通信網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或...
    HoyaWhite閱讀 2,682評(píng)論 2 20