經典面試題目 — 在瀏覽器輸入網址之後,到底背後發生什麼事?
覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!
之所以說這個題目很經典,是因為現代太多應用都是用 HTTP 協定進行溝通,例如每個人每天都一定會開啟的網頁瀏覽器,背後就是使用 HTTP 協定,所以這個題目可以問出 1 個人對 HTTP 協定的了解情況之外,還可以延伸到怎麼解析網址變成 IP, 以什麼協定與 IP 建立連線等等。
ByteByteGo 的 5 分鐘影片 “What happens when you type a URL into your browser?” 解釋的很清楚,可以讓你有個全局概觀,也能夠初步認識瀏覽器怎麼運作(不包含畫面渲染)。
面試時,回答這個題目有以下 4 個重點需要提到:
- 什麼是 DNS 與 DNS 如何對域名(domain)進行解析?
- TCP 協定,其中 3 向交握(three-way handshake)是一定要知道的
- Keep-Alive 標頭,因為一直 3 向交握建立連線會導致效率不好,所以瀏覽器會使用 Keep-Alive 標頭告訴伺服器保持連線,避免雙方總是重新建立連線(這項功能需要 Client 與 Server 都支援)
- HTTP 協定,包含 GET, POST 等方法都需要理解
不過這個題目可大可小,從這個題目還可以繼續延伸出 Cookie 怎麼運作、怎麼壓縮傳輸的資源、網頁代理伺服器怎麼運作、 CORS(Cross-Origin Resource Sharing)怎麼運作等等,族繁不及備載⋯⋯。
結論,工程師面試真的累 😫