從輸入URL到看到頁面發(fā)生了什么

  • DNS解析
  • 發(fā)起TCP連接
  • 發(fā)送HTTP請求
  • 服務(wù)器處理請求并返回HTTP報文
  • 瀏覽器解析渲染頁面
  • 連接結(jié)束笆焰。

DNS解析(網(wǎng)址和IP地址的轉(zhuǎn)換)

輸入網(wǎng)址后,首先在本地的域名服務(wù)器中查找绰咽,沒找到去根域名服務(wù)器查找,沒有再去com頂級域名服務(wù)器查找地粪,取募,如此的類推下去,直到找到IP地址蟆技,然后把它記錄在本地玩敏,供下次使用。

DNS優(yōu)化
  • DNS緩存
    瀏覽器緩存质礼,系統(tǒng)緩存旺聚,路由器緩存,IPS服務(wù)器緩存眶蕉,根域名服務(wù)器緩存砰粹,頂級域名服務(wù)器緩存,主域名服務(wù)器緩存
  • DNS負載均衡

發(fā)起TCP連接

三次握手造挽,四次揮手

客戶端(c)
服務(wù)器(s)

  • 三次握手
    c:1+1等于幾
    s:2碱璃,2+2等于幾
    c:4
    ??完畢
  • 四次揮手
    c:我要掛斷了
    s:那你掛了吧,你掛了之后給我發(fā)個信息
    c:我已經(jīng)掛斷了
    s:好的

發(fā)送HTTP請求

請求方式
  • get
  • post
    區(qū)別:

GET在瀏覽器回退時是無害的饭入,而POST會再次提交請求嵌器。
GET產(chǎn)生的URL地址可以被Bookmark,而POST不可以谐丢。
GET請求會被瀏覽器主動cache爽航,而POST不會,除非手動設(shè)置乾忱。
GET請求只能進行url編碼讥珍,而POST支持多種編碼方式。
GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里饭耳,而POST中的參數(shù)不會被保留串述。
GET請求在URL中傳送的參數(shù)是有長度限制的执解,而POST么有寞肖。
對參數(shù)的數(shù)據(jù)類型纲酗,GET只接受ASCII字符,而POST沒有限制新蟆。
GET比POST更不安全觅赊,因為參數(shù)直接暴露在URL上,所以不能用來傳遞敏感信息琼稻。
GET參數(shù)通過URL傳遞吮螺,POST放在Request body中。
GET會產(chǎn)生一個TCP數(shù)據(jù)包帕翻,而POST會產(chǎn)生兩個TCP數(shù)據(jù)包

HTTP緩存

規(guī)則

  • 強制緩存
  • 協(xié)商緩存

強制緩存的優(yōu)先級高于協(xié)商緩存

優(yōu)點

減少了冗余的數(shù)據(jù)傳遞鸠补,節(jié)省寬帶流量
減少了服務(wù)器的負擔,大大提高了網(wǎng)站性能
加快了客戶端加載網(wǎng)頁的速度 這也正是HTTP緩存屬于客戶端緩存的原因嘀掸。

不同的刷新方式

  • 地址欄輸入URL
    瀏覽器發(fā)現(xiàn)緩存中有這個文件了紫岩,不用繼續(xù)請求了,直接去緩存拿睬塌。(最快)
  • F5
    F5就是告訴瀏覽器泉蝌,別偷懶,好歹去服務(wù)器看看這個文件是否有過期了
  • ctrl+F5
    告訴瀏覽器揩晴,你先把你緩存中的這個文件給我刪了勋陪,然后再去服務(wù)器請求個完整的資源文件下來。于是客戶端就完成了強行更新的操作
狀態(tài)碼
  • 2XX 請求成功
  • 3XX 重定向
  • 4XX 資源丟失
  • 5XX 服務(wù)器內(nèi)部錯誤

瀏覽器解析渲染頁面

  • 解析HTML形成DOM樹
  • 解析CSS形成CSSOM 樹
  • 合并DOM樹和CSSOM樹形成渲染樹
  • 瀏覽器開始渲染并繪制頁面這個過程涉及兩個比較重要的概念回流和重繪硫兰,DOM結(jié)點都是以盒模型形式存在诅愚,需要瀏覽器去計算位置和寬度等,這個過程就是回流劫映。等到頁面的寬高呻粹,大小,顏色等屬性確定下來后苏研,瀏覽器開始繪制內(nèi)容等浊,這個過程叫做重繪。瀏覽器剛打開頁面一定要經(jīng)過這兩個過程的摹蘑,但是這個過程非常非常非常消耗性能筹燕,所以我們應(yīng)該盡量減少頁面的回流和重繪
回流

當Render Tree中部分或全部元素的尺寸、結(jié)構(gòu)衅鹿、或某些屬性發(fā)生改變時撒踪,瀏覽器重新渲染部分或全部文檔的過程稱為回流。
會導(dǎo)致回流的操作:

  • 頁面首次渲染
  • 瀏覽器窗口大小發(fā)生改變
  • 元素尺寸或位置發(fā)生改變
  • 元素內(nèi)容變化(文字數(shù)量或圖片大小等等)
  • 元素字體大小變化
  • 添加或者刪除可見的DOM元素
  • 激活CSS偽類(例如::hover)
  • 查詢某些屬性或調(diào)用某些方法

一些常用且會導(dǎo)致回流的屬性和方法:

  • clientWidth大渤、clientHeight制妄、clientTop、clientLeft
  • offsetWidth泵三、offsetHeight耕捞、offsetTop衔掸、offsetLeft
  • scrollWidth、scrollHeight俺抽、scrollTop敞映、scrollLeft
  • scrollIntoView()、scrollIntoViewIfNeeded()
  • getComputedStyle()
  • getBoundingClientRect()
  • scrollTo()
重繪

當頁面中元素樣式的改變并不影響它在文檔流中的位置時(例如:color磷斧、background-color振愿、visibility等),瀏覽器會將新樣式賦予給元素并重新繪制它弛饭,這個過程稱為重繪冕末。

史上最詳細的經(jīng)典面試題 從輸入URL到看到頁面發(fā)生了什么?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侣颂,一起剝皮案震驚了整個濱河市栓霜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌横蜒,老刑警劉巖胳蛮,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丛晌,居然都是意外死亡仅炊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門澎蛛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抚垄,“玉大人,你說我怎么就攤上這事谋逻〈裟伲” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵毁兆,是天一觀的道長浙滤。 經(jīng)常有香客問我,道長气堕,這世上最難降的妖魔是什么纺腊? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮茎芭,結(jié)果婚禮上揖膜,老公的妹妹穿的比我還像新娘。我一直安慰自己梅桩,他們只是感情好壹粟,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宿百,像睡著了一般趁仙。 火紅的嫁衣襯著肌膚如雪洪添。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天幸撕,我揣著相機與錄音,去河邊找鬼外臂。 笑死坐儿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的宋光。 我是一名探鬼主播貌矿,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼罪佳!你這毒婦竟也來了逛漫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤赘艳,失蹤者是張志新(化名)和其女友劉穎酌毡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕾管,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡枷踏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掰曾。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旭蠕。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖旷坦,靈堂內(nèi)的尸體忽然破棺而出掏熬,到底是詐尸還是另有隱情,我是刑警寧澤秒梅,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布旗芬,位于F島的核電站,受9級特大地震影響捆蜀,放射性物質(zhì)發(fā)生泄漏岗屏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一漱办、第九天 我趴在偏房一處隱蔽的房頂上張望这刷。 院中可真熱鬧,春花似錦娩井、人聲如沸暇屋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咐刨。三九已至昙衅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間定鸟,已是汗流浹背而涉。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留联予,地道東北人啼县。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像沸久,于是被迫代替她去往敵國和親季眷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

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