Author: @Yentina Wang Date: Oct 8, 2020 性質: Tech Share
Conclusion: Browsers are a package of various software.
功能:讓程式碼變成圖形和文字
Run APIs
下載
解析
渲染
依照 render tree 順序把網站畫出來
架構
網路的分層
HTTP(port 80)
FTP(file transport protocol, port 21)
SSH(Secure Shell, port 22)
TCP(Transmission Control Protocol, 保證收發正常)
UDP(User Datagram Protocol, 即時性高, 常用於即時通話或視訊)
IP:收發位址
路由器、海底電纜
HTTP & HTTPS
HTTP
以輸入http://www.google.com為例
輸入網址並按下Enter
GET(用動詞標準化動作) http://google.com
Server收到訊息後回傳
<html>…..</html>(分為 header 與 body)Status: 200(用狀態碼標準化結果)
HTTPS
共用金鑰加密
公開金鑰加密 / 非對稱式加密
公鑰是所有人都看得到的,而私鑰是只有通訊者自己才看得到的;每個資料被任意一把鑰匙加密後,必須要透過與之配對的另一把鑰匙才能解密;例如我用我的私鑰加密的密文,就只能被我的公鑰解密,反之亦同。
中間人攻擊
數位憑證
由於非對稱加密的運算量較高,傳遞回應較慢;實際的架構上,會透過公開金鑰加密傳遞出共用的金鑰,再透過共用金鑰加密進行後續的傳遞,兼顧了安全性及傳遞速度。
Articles
【Day01】瀏覽器運作原理(客戶端-伺服器(Client/Server)架構)
How Web Browsers Work - Behind the scene Architecture, Technologies, and Internal Working
Inside look at modern web browser (part 1) | Web | Google Developers
In Introduction to HTTP Basics
Videos