1. 程式人生 > >第一章 深入web請求過程

第一章 深入web請求過程

serve jboss 模式 關系 ttl oca 一點 比較 我們

 B/S架構的的好處:

  • 客戶端使用統一的瀏覽器(browser)。由於瀏覽器的統一性,它不需要特殊的配置和網絡連接,有效的屏蔽了不同服務提供商提供給用戶使用服務的差異性。另外一點是瀏覽器的交互特性使得用戶的使用非常簡便,只要有互聯網的使用經驗,即可快速掌握使用方法。
  • 服務端(server)基於統一的HTTP協議。和傳統的C/S架構使用自定義的應用協議不同,B/S架構使用的都是統一的HTTP協議,使得開發商都是用比較規範的開發模式,這樣可以大大減少開發成本。另外由於使用統一的協議,可使用的服務器就很多,直接使用無須開發如:tomcat、nginx、jboss等等。  

B/S網絡架構概述:

  當我們在瀏覽器輸入需要訪問的URL時,將會發生很多操作。首先它會請求DNS把這個域名解析成對應的IP地址,然後根據這個IP地址在互聯網上找到對應的服務器,向這個服務器發送一個get請求,由這個服務器決定返回默認的數據資源給訪問的用戶。

  在服務器端則根據服務器的業務處理邏輯來決定請求的處理:服務器可能有很多臺,到底指定哪一臺來處理,這需要一個負載均衡的設備來處理分發用戶的請求;還有我們需要的數據資源是在分布式緩存裏還是在一個靜態文件中,或者是數據庫中;當數據返回瀏覽器時,瀏覽器處理數據時還會再次發送請求,而這些請求很可能會在CDN上,那麽CDN服務器是否會處理用戶的這個請求;這其中每個細節都將決定這個請求最終是否會成功。

  HTTP協議需要遵守的原則:

  • 互聯網上所有的資源都要用一個URL來表示。URL就是一個統一資源定位符,如果你要發布一個服務或者資源到互聯網上,讓別人能夠訪問到,那麽首先你就必須擁有一個獨一無二的URL。
  • 必須基於HTTP協議與服務端交互。
  • 數據展示必須在瀏覽器中進行。

  DNS域名解析:

  1.瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果緩存中有,這個解析過程就將結束。

  2.如果用戶的瀏覽器緩存中沒有,瀏覽器會查找操作系統緩存中是否有這個域名對應的DNS解析結果。其實操作系統也會有一個域名解析的過程在windows中可通過C:\Windows\System32\drivers\etc\hosts文件來設置,你將可以將任何域名解析到任何能夠訪問的IP地址。

  3.在我們的網絡配置中都會有“DNS服務器地址”這一欄,操作系統會將這個域名發送給這裏設置的LDNS,也就是本地區的域名服務器,即本地的網絡營運商(電信或聯通),就是常說的SPA,他們的服務器性能都比較好,一般都會緩存域名解析結果。

  4.如果LDNS還是沒有命中,就直接到ROOT SERVER域名服務器請求解析。

  5.根據域名服務器返回給本地域名服務器一個所查詢域的主域名服務器地址(gTLD Server)。

  6.本地域名服務器再向上一步返回gTLD服務器發送請求。

  7.接受請求的gTLD服務器查找並返回此域名對應的Name Server域名服務器地址,這個Name Server通常就是你註冊的域名服務器。

  8.Name Server域名服務器會查詢存儲的域名和IP映射關系表。

  9.返回該域名對應的IP和TTL值,Local DNS Server會緩存這個域名和IP對應關系。

  10.把解析的結果返回給用戶,用戶根據TTL值緩存在本地系統緩存中,域名解析過程結束。

第一章 深入web請求過程