1. 程式人生 > 其它 >瀏覽器相關知識點一(前端面試準備)

瀏覽器相關知識點一(前端面試準備)

1.瀏覽器的歷史

起初的瀏覽器是單程序的,所有的服務全都在一個程序中執行,這會導致一個模組出現問題會導致整個瀏覽器出現問題,而且它們會佔用大量記憶體資源,所以後面瀏覽器進化成多執行緒,以瀏覽器程序為主程序,不同的頁面處於不同的渲染程序中,這樣的好處是一張頁面卡頓不會導致整個瀏覽器休克,此外不同的程序都被放在安全沙箱內,這樣就避免了佔用敏感記憶體區域的問題。只是多程序的瀏覽器架構存在更復雜的體系架構和更高的資源佔用問題,未來的瀏覽器可能會走向“面向服務”架構模式

------------------------------------------------------------

面試題:程序和執行緒之間的區別?

答:程序是執行中的一段程式,執行緒是程序執行過程中的任務;一個執行緒只屬於一個程序,一個程序內可以有很多執行緒,且一個程序裡可以有很多不同的執行緒。

------------------------------------------------------------

2.TCP協議

瀏覽器和服務端之間使用的網路協議是TCP/IP協議TCP協議相對於UDP協議有保證資料不丟失的優點,這可以保證頁面檔案能夠完整的從伺服器送達到瀏覽器。

------------------------------------------------------------

面試題:TCP的三次握手?(為什麼是三次握手而不是兩次握手?)

答:就是解釋以下TCP三次握手的具體過程,第一次握手是客服端傳送給服務端,客服端傳送的TCP資料首部中包含欄位SYN=1,ACK=0以請求伺服器連線;第二次握手是服務端傳送給客服端,服務端傳送的TCP資料中包含欄位SYN=1,ACK=1兩個資料,表示同意連線請求;第三次握手是客服端傳送給服務端,傳送的TCP資料中包含ACK=1,SYN=0表示確認收到了服務端的SYN段。

ACK:佔1位,僅當ACK=1時,確認號欄位才有效。ACK=0時,確認號無效。 SYN:連線建立時用於同步序號。當SYN=1,ACK=0時表示:這是一個連線請求報文段。若同意連線,則在響應報文段中使得SYN=1,ACK=1。因此,SYN=1表示這是一個連線請求,或連線接受報文。SYN這個標誌位只有在TCP建產連線時才會被置1,握手完成後SYN標誌位被置0。

------------------------------------------------------------