build-web-application-with-golang
1. web工作方式
2. DNS工作原理
(1)先看hosts
(2)在看本地DNS解析器緩衝,是否有這個網址映射關係
(3)首先會找本地DNS伺服器,此伺服器收到查詢時,如果要查詢的網域名稱,包含在本地配置地區資源中,則返回解析結果給客戶機,完成網域名稱解析,此解析具有權威性。
如果要查詢的網域名稱,不由本地DNS伺服器地區解析,但該伺服器已緩衝了此網址映射關係,則調用這個IP地址映射,完成網域名稱解析,此解析不具有權威性。
(4)如果本地DNS伺服器本地地區檔案與緩衝解析都失效,則根據本地DNS伺服器的設定(是否設定轉寄站)進行查詢,如果未用轉寄模式,本地DNS就把請求發至 “根DNS伺服器”,“根DNS伺服器”收到請求後會判斷這個網域名稱(.com)是誰來授權管理,並會返回一個負責該頂級網域名稱伺服器的一個IP。本地DNS伺服器收到IP資訊後,將會聯絡負責.com域的這台伺服器。這台負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器位址(qq.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找qq.com網域服務器,重複上面的動作,進行查詢,直至找到www.qq.com主機。
如果用的是轉寄模式,此DNS伺服器就會把請求轉寄至上一級DNS伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根DNS或把轉請求轉至上上級,以此迴圈。不管是本地DNS伺服器用是是轉寄,還是根提示,最後都是把結果返回給本地DNS伺服器,由此DNS伺服器再返回給客戶機。
2.渲染html檔案
這個就是瀏覽器的一個功能,第一次請求url,伺服器端返回的是html頁面,然後瀏覽器開始渲染HTML:當解析到HTML DOM裡面的圖片串連,css指令碼和js指令碼的連結,瀏覽器就會自動發起一個請求靜態資源的HTTP請求,擷取相對應的靜態資源,然後瀏覽器就會渲染出來,最終將所有資源整合、渲染,完整展現在我們面前的螢幕上。