相信大家對瀏覽器都不陌生,我們每天都在使用瀏覽器,別說你沒用過,我們現在天天用的微信、QQ就是內置瀏覽器的,比如微信或QQ好友發來網址、視頻等,你直接點擊就打開了,不需要再打開其他瀏覽器,就是因為微信和QQ內置了一個瀏覽器,讓你直接可以在微信和QQ上瀏覽網頁。
那么你知道它是怎樣工作的嗎?當你打開瀏覽器在上面輸入一行網址,點擊搜索的時候,它都做了哪些工作呢?
接下來,一步一步為您講解。
在介紹瀏覽器的工作方式之前,先來介紹一下網址,什么是網址?
網址又叫做URL,中文名字叫“統一資源定位系統”。
如果你以為網址只是一個以“http://”開頭的一串字符,那你就錯了,網址除了“http://”開頭的還可以用“ftp:”、“file:”、“mailto:”等開頭。
之所以有各種URL,是因為我們的瀏覽器不止可以瀏覽網頁,還可以用來做其他工作,只是這些工作你可能沒有用過。比如瀏覽器可以下載文件,上傳文件,它是一個多功能的客戶端軟件。
盡管網址有很多種寫法,但它們都有一個共同的特點,那就是開頭那部分寫法,決定了瀏覽器使用的訪問方法,或者說瀏覽器使用的功能。
當你在瀏覽器上的地址欄輸入網址的時候,瀏覽器會按照一定的規則去分析這個網址的含義,然后根據這個含義去生成一個請求數據。
剛才說過,網址的格式會隨著開頭的寫法不同而不同,因此下面我只講解以“http:”開頭的格式,這種格式主要是用來訪問Web服務器的,也就是網站服務器。
根據http協議的格式,網址包含如下幾種元素,當對網址進行解析時,首先按照下圖a中的格式把其中的各個元素拆分出來。
沒有文件名稱,服務器怎么知道要訪問哪個文件呢?因為服務器上都會設置一個默認的文件名,這個設置根據服務器的不同而不同,大部分服務器默認文件名稱都是index.html或者default.html。
解析完網址之后,我們就知道了要訪問的文件在哪了,接下來瀏覽器會使用HTTP協議來訪問網站服務器,什么是HTTP協議呢?
HTTP協議就是一套規則,他規定了客戶端和服務器之間交互的消息內容和規則,他的原理非常簡單。
首先,客戶端會向服務器發送請求消息。請求消息中包含的內容是對服務器上的文件進行怎樣的操作。
服務器獲得客戶端請求后,根據請求的內容返回一個執行后的內容給客戶端。
其中客戶端的請求有如下幾種方法,每一種方法代表了服務器需要執行不同的操作:
服務器收到請求消息之后,Web 服務器會對其中的內容進行解析,通過 URI 和方法來判斷需要執行什么樣的操作,并根據這些要求來完成自己的工作,然后將結果存放在響應消息中。
在響應消息的開頭有一個狀態碼, 它用來表示操作的執行結果是成功還是發生了錯誤。
當我們訪問 Web 服務生成HTTP請求消息時,遇到找不到的文件就會顯示出404 Not Found 的錯誤信息。
其實這就是狀態碼,狀態碼后面是頭字段和網頁數據。響應消息會被發送回客戶端,客戶端收到之后,瀏覽器會從消息中讀出所需的數據并顯示在屏幕上。到這里HTTP的整個工作就完成了。
但是HTTP協議的還遠不止這些功能,瀏覽器的工作也還沒有完全結束,想了解更多關于瀏覽器的知識嗎?
歡迎關注我,學習更多計算機知識!