網站從URL輸入到頁面展現的六個步驟:
URL是什么
統一資源定位符(Uniform Resource Locator,縮寫為URL),又叫做網頁地址,是互聯網上標準的資源的地址(Address)。互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。它最初是由蒂姆·伯納斯-李發明用來作為萬維網的地址的?,F在它已經被萬維網聯盟編制為因特網標準RFC1738了。統一資源定位符的開始,一般會標志著一個計算機網絡所使用的網絡協議。
URL的幾個部分
百度完整的URL地址:https://www.baidu.com/link?url=sofXEgyeLzeisB_YfK4BQmywO9kRUuUrCNxYWtf0fI-8sQ1ZtanCPsip2xchhicn&wd=&eqid=e87ea4c90011764d000000065d4fc73f
協議部分
在該URL中,協議部分為(https://),這代表該網頁使用的是https協議。在Internet中可以使用多種協議。
常見的協議有:
http:// (超文本傳輸協議,信息是明文傳輸)
https:// (網絡加密的超文本傳輸協議)
file:// (本地文件傳輸協議,file協議主要用于訪問本地計算機中的文件)
ftp:// (文件傳輸協議)
mailto: (資源為電子郵件地址,通過SMTP訪問)
還有一種URL前面沒有加指定協議,它是指獲取該資源需要使用的協議與當前的URL是保持一致的。
域名部分
用來確定服務器在互聯網上的位置,域名的目的是便于記憶和溝通的一組服務器的地址,是唯一不可重復的。
域名一般也分三個級別域名
一級域名(頂級域名):比如.com .cn
二級域名:http://baidu.com http://qq.com
三級域名:http://www.baidu.com http://www.qq.com
例子中
http://www.baidu.com是二級域名
.com 供商用的國際域名
.cn 供商用的中文域名
.net 用于網絡供應服務商(系統類的經常使用net域名)
.org 用于官方組織
.edu 用于教育院校
.gov 用于政府機構
端口號
用來區分同一臺服務器上不同服務的標識(基于web服務管理創建服務的時候可以指定),不同服務之間一般是不能使用相同的端口號的。
HTTP => 默認端口號80
HTTPS => 默認端口號443
FTP => 默認端口號21
如果當前網絡服務,采用的是協議對應的默認端口管理,那么當用戶輸入網址的時候可以不指定端口號,瀏覽器會默認幫用戶把默認的端口傳遞給服務器。(開發者在服務器上發布服務的時候需要指定端口) 一臺服務器上的端口號范圍:0~65535之間
webstorm預覽頁面:http://localhost:63342/QQMusicWebApp.html/ webstorm預覽頁面:webstorm把自己的電腦當做服務器,在服務器上創建一個服務,端口號是63342,自己電腦上的瀏覽器預覽自己電腦上的服務,屬于本機服務請求,用localhost(127.0.0.1)本地域名即可。
服務器上安裝一款應用都可能會作為一個服務,占用一個端口號。
問號傳參及哈希值
?xx=xxx這是問號傳參,在HTTP事務中,問號傳參是客戶端把信息傳遞給服務器的一種方式(也有可能是跳轉到某一個頁面,把參數值傳遞給頁面用來標識的)。 #xxx這是哈希值,哈希值一般都是跟用戶端服務器交互沒啥關系,主要用于頁面中的錨點定位和HASH路由切換。
DNS是什么
域名系統(Domain Name System縮寫DNS,Domain Name被譯為域名)是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。DNS系統是為解析域名為 IP 地址而存在的。
IP 網絡協議(英語:Internet Protocol)。
IP分為內網和外網。
內網(也稱局域網),是幾臺或者幾十臺電腦之間互相連接用于資源共享的網絡,家庭、單位所使用的網絡一般都是內網。內網中的設備使用內網 IP,一般來說這個 IP 的格式都是 http://192.168.xxx.xxx。
外網(也稱廣域網),在單位、家庭之外有覆蓋范圍極大的網絡,比如internet,這個大網絡延伸到了我們的單位、家庭(通過光纖、網線、電話線等)。我們把自己的局域網連接到internet上,那么我們的訪問范圍就從局域網擴展到了整個internet。這時候,就說局域網是內網,internet是外網。
內網和外網就像兩個隔絕的空間,無法互通,唯一的聯通點就是路由器(因為路由器既有外網 IP 也有內網 IP),所以路由器有時候也被叫做網關。
每個處于互聯網的機器都有IP地址,比如192.168.0.1,127.0.0.1代表著本機的IP地址。
域名解析的流程
瀏覽器緩沖—瀏覽器會緩存DNS記錄一段時間系統緩存—從Hosts文件查找是否有該域名和對應IP路由器緩沖—一般路由器也會緩存域名信息ISP DNS緩存—比如到電信的DNS上查找緩存如果都沒有找到,則向根域名服務器查找域名對應IP,根域名服務器把請求轉發到下一級,直到找到IP
服務器是一臺安裝系統的機器,系統里安裝的處理請求的應用叫Web server
常見的web服務器有Apache、Nginx、IIS、Lighttpd
web服務器接收用戶的Request交給網站代碼,或者接收請求方向代理到其他web服務器
MVC模型(model)—視圖(view)—控制器(controller)
HTML字符串被瀏覽器接受后被一句句讀取解析解析到link標簽后重新發送請求獲取CSS解析到script標簽后發送請求獲取JS,并執行代碼解析到img標簽后發送請求獲取圖片資源
瀏覽器根據HTML和CSS計算得到渲染樹,繪制到屏幕上,JS會被執行。