什麼是瀏覽器
瀏覽器是一個用來瀏覽網頁的軟體,它可以讓我們在網路上瀏覽各種網頁,並且可以透過網址列輸入網址來前往網頁。 並且解析網頁的 HTML、CSS、JavaScript 等資源,並且將這些資源顯示在我們的電腦上。
瀏覽器的源起
在剛開始有網路時是沒有瀏覽器的概念的,只是單純的提供伺服器之間的通訊。 直到 1990 年代,微軟推出了 windows,正式開啟了個人電腦的時代,出現了個人電腦對伺服器的請求需求。 起初是透過命令列的方式來進行網頁的瀏覽,但是這樣的方式對於一般使用者來說是不夠友善的,畢竟不是每個人都懂得如何使用命令列。 所以就有了瀏覽器的概念,讓使用者可以透過瀏覽器來瀏覽網頁。
- 1990 年,由
Tim Berners-Lee所開發最早的瀏覽器WorldWideWeb。後來改名為Nexus,這是第一個瀏覽器的雛形。 - 1995 年,
Netscape Navigator推出LiveScript,後來改名為JavaScript,這是第一個支援JavaScript的瀏覽器。 - 1996 年,微軟推出了
Internet Explorer,這是第一個支援ActiveX的瀏覽器。 - 1998 年,
Opera推出了Opera 3.0,這是第一個支援CSS2的瀏覽器。 - 2004 年,
Mozilla推出了Firefox,這是第一個支援標籤式瀏覽的瀏覽器。 - 2008 年,
Google推出了Chrome,這是第一個支援多進程的瀏覽器。
網頁三劍客
而經過了這些年的流變,大抵網頁可以被分成三個部分來看待:HTML, CSS, JavaScript,他們分別代表了網頁的框架、樣式、邏輯。 通常他們也被稱為網頁三劍客,是每個網頁工程師必修的三個語言。
| 類別 | 語言 | 用途 |
|---|---|---|
HTML | 超文字標記語言 | 結構化網頁內容 |
CSS | 層疊樣式表 | 美化網頁樣式 |
JavaScript | JavaScript | 網頁邏輯 |
瀏覽器技術標準
經過上面的介紹會發現瀏覽器經過了一個百家爭鳴的過程,那麼這麼多的瀏覽器如果每個都各自發展網頁協定,工程師們豈不是得學很多套、每次遇到不同的瀏覽器就得再寫一份程式?
所以分別出現了 W3C 跟 WHATWG,他們有點像是兩個聯盟,各自發展網頁協定,直到 2019 年才達成共識,共同制定網頁標準,但他們負責的部分有點不同:
| 組織 | 負責內容 |
|---|---|
WHATWG | HTML, DOM |
W3C | CSS, 無障礙, Web API |
當然除了瀏覽器技術標準之外,還有其他的標準,以下是一些常見的標準:
| 標準 | 詳細 |
|---|---|
ECMA | JavaScript語言標準: ES5, ES6, ES2019... 等等 |
IETF | 網際網路的標準: IP, UDP/TCP, HTTP, DNS, SMTP, POP3, IMAP, TLS, SSH, Web Socket |
結語
瀏覽器就算放到目前來看,還是處於一個高速發展的時期,每年都會有新的技術出現。 而且在智慧型手機出現之後,瀏覽器的發展更加複雜,因為手機的螢幕大小、觸控操作、硬體規格等等都會影響到瀏覽器的發展。
身為前端工程師更是要常常兼顧電腦版網頁、手機版網頁,不同的瀏覽器對特定的 WebAPI 的支援程度等問題。
INFO
Safari 總是被笑稱為現代IE,因為很多新的 API 在 Chrome, Firefox 上支援好幾年後 Safari 才會跟上。
導致開發時常常需要先考慮 Safari 的支援度,這也是為什麼很多前端師不喜歡 Safari 的原因之一。
對於這個問題,有一個網站 Can I Use 可以查詢各種 WebAPI 的支援度,減少踩到坑的機會。
