第一章 深刻web請求過程

  B/S架構的的好處:nginx

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

    B/S網絡架構概述:數據庫

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

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

  HTTP協議須要遵照的原則:緩存

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

  DNS域名解析:tomcat

  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值緩存在本地系統緩存中,域名解析過程結束。

相關文章
相關標籤/搜索