從URL到頁面顯示經(jīng)歷了哪些?

從URL到頁面顯示經(jīng)歷了哪些?

url.png

什么是URL?

URL,是指同一的資源定位符,用于定位網(wǎng)絡資源,俗稱網(wǎng)址。
對應協(xié)議,端口號,域名等。
例如,http://www.baidu.com
這就是一個url地址,就是一個網(wǎng)址,它是由http協(xié)議傳輸。

對應常用的傳輸協(xié)議如下’

  • http,是指去查找網(wǎng)絡上的某個資源。
  • file,是用于定位本地文件的協(xié)議,也就是說用于查找本地資源。
  • https,是指一個加密后的安全的http協(xié)議。
    這就是URL,也就是網(wǎng)絡查找資源的第一步,輸入網(wǎng)址。

DNS解析?

是指瀏覽器根據(jù)輸入的URL/字符串/資源,查找該字符串對應的域名,在根據(jù)這個域名去查找對應的IP地址。

  • 域名?
    就是指由數(shù)字,拼音等組成的協(xié)意字符串,比如,baidu.com,這就是百度的域名。
  • IP地址?
    這個大家都懂得把,就是每臺設備想要上網(wǎng)的話都要有這么一排數(shù)字,比如,192.168.0.1
  • 技術點!
    如果做手機測試時,在電腦上測試開發(fā)程序沒有問題,但是在手機上如何做測試呢?
    用手機與電腦連接到同一個wifi下,再通過手機訪問電腦上的IP地址就可以啦!

解析流程‘

  1. 瀏覽器緩存
    當之前通過該瀏覽器訪問過該IP的話,則首先在瀏覽器緩存區(qū),也就是記憶區(qū)進行查找,如果找到了就返回出結(jié)果。
  2. 系統(tǒng)緩存
    如果該瀏覽器中沒有該記錄的話,那么就要回到本地的HOST文件夾中查找。

HOST緩存作用
是指根據(jù)域名查到對應IP的查找過程。

技術點
HOST緩存區(qū)可以將將服務器網(wǎng)址定位到本地的IP
例如,在開發(fā)過程中,如果想通過瀏覽器訪問一個服務器網(wǎng)址,但又不希望直接訪問到服務器?
那么就可以根據(jù)HOST文件中定義的域名對應的本地網(wǎng)址,在通過該域名查找時,便可以直接跳轉(zhuǎn)到HOST文件中定義的網(wǎng)址。比如,本地IP,172.0.1.2 域名,wanyy.com 當輸入該域名時,可以調(diào)轉(zhuǎn)到172.0.1.2這個IP的地址。

  1. 路由器緩存區(qū)
    如果HOST緩存區(qū)中還是沒有出現(xiàn)過這個域名的話,那就到下一級繼續(xù)查找。

  2. IPS路由器緩存區(qū)
    仍然沒找到的話,就會去找你用的服務商緩存區(qū)中去再查找,比如電信。

  3. 根目錄查找
    如果怎么都沒找到的話就是到最后一階段,去根目錄查找,在根據(jù)根目錄返回值繼續(xù)查找,直到找到一個最終IP為止。


    DNS.png

關聯(lián)問題

  1. 如果電腦不能上網(wǎng)了,直接將dns改為8.8.8.8或114.114.114.114就可以上網(wǎng)了。
    原因,就是不通過本地中間查找,直接將最終服務器的ip給dns就直接指定了找到了這個網(wǎng)址了。
  2. DNS劫持
    是指網(wǎng)絡黑客攻擊某個節(jié)點服務器,并將一個虛擬網(wǎng)站的IP返還給對應的域名,也就是說在查找網(wǎng)頁的胖有回根據(jù)該域名查找到一個假的網(wǎng)頁。

這就是第二階段,根據(jù)域名找對應IP地址。

服務器處理

web服務器
是一臺安裝系統(tǒng)的機器,并安裝了接受請求的軟件,比如windows下通常會安裝web server,也就是一個管理的請求的入口。

  • 常見的web服務器有Apache,Nginx,IIs等
  • web服務器接受用過的請求并交給網(wǎng)站代碼,或者接受請求反向代理到其他到其他服務器。


    web服務器處理流程.PNG

例如,
一臺機器里有蘋果,雞蛋,牛奶,這臺機器只有個IP地址,127.1.0.1,那么通過瀏覽器找蘋果的時候,
首先找到的是127.1.0.1的這個IP,這個IP對應了同一機器,這個時候就需要一個管理的,比如Nginx,
這個軟件下會有一個配置文件,相當于分配單,Nignx會根據(jù)你發(fā)來的請求,將你的需求返回給你蘋果或者牛奶或者雞蛋。

這就是第三階段,根據(jù)IP通過web服務器來返還結(jié)果。

網(wǎng)站處理流程

是指M>V>C處理過程。
首先,根據(jù)上一步終于找到了一個網(wǎng)站,結(jié)果這個網(wǎng)站是一堆看不懂的代碼,那么怎么才能顯示成好看的頁面呢?
這就是M模型>V視圖>C控制器的處理過程。
M,這些代碼經(jīng)過運行后會交給控制器,就是操作數(shù)據(jù)庫的過程。同時它給控制器提供了一些接口。
V,根據(jù)接口控制器做處理后,會從模型文件中查找到指定的文件,在返還給控制器。
C,拿到結(jié)果的控制器會放到一個視圖模板中,并將視圖在還給頁面,于是我們看到的最終結(jié)果是視圖頁面。

這就是最后一步,顯示畫面的過程,也就是我們根據(jù)一堆字符串得到一個好看頁面的過程。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,886評論 18 139
  • 14.1 引言 域名系統(tǒng)(DNS)是一種用于TCP/IP應用程序的分布式數(shù)據(jù)庫,它提供主機名字和IP地址之間的轉(zhuǎn)換...
    張芳濤閱讀 1,919評論 0 8
  • 1. 基礎知識 1.1 3種常見的計算機體系結(jié)構(gòu)劃分 OSI分層(7層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層、會話...
    Mr希靈閱讀 19,936評論 6 120
  • 最近,終于要把《WEB請求處理系列》提上日程了,一直答應小伙伴們給分享一套完整的WEB請求處理流程:從瀏覽器、Ng...
    七寸知架構(gòu)閱讀 31,714評論 27 253
  • 今天陽光很好,一掃這一星期的陰霾。我們像出獄的犯人,終于進城了。近一個星期的霧霾,人猶如跌入深不見底的深淵,既傷心...
    夢飛狐閱讀 174評論 0 0